0
約束を返す関数を作りたいと思います。この約束は、関数内で行われた非同期呼び出しのデータを含みます。私はそれが見えるようにしたい:私はこの仕事をするために見つけWinJS:関数から約束を返す
//Function that do asynchronous work
function f1() {
var url = ...
WinJS.xhr({ url: url }).then(
function completed(request) {
var data = ...processing the request...
...
},
function error(request) {
...
});
}
//Code that would use the result of the asynchronous function
f1().done(function(data) {
...
});
唯一の方法は、F1へのコールバックを渡し、私はデータを持っているときにそれを呼び出すことです。コールバックを使用しても、約束によって達成される目標を敗北させるようです。上記のように動作させる方法はありますか?また、私はf1のWinJS.xhrを返すことができましたが、f1のdoneメソッドは "data"ではなく要求を返します。