約束を返す非同期関数があるとしましょう。これらの関数の多くを連鎖させたいと思います。それぞれが異なる引数を持っています。
この配列を実行する関数は次のようになります。
function executePromiseQueueSync(queue){
var seed = $.Deferred(),
finalPromise;
_reduce(queue, function(memo, promise){
return memo.then(promise);
}, seed.promise());
seed.resolve();
return finalPromise;
}
いくつかの関数がpromiseの配列を受け入れ、それらを同期的に実行するのを見ました。問題は、そのような配列を作成する方法がわからないことです。例:
var promiseQueue = [];
promiseQueue.push(AsynchEvent(someArg)); // WRONG: this is function call and will be executed immediately
別:
var promiseQueue = [];
promiseQueue.push(AsynchEvent); // WRONG: at some point I will have to apply this with arguments
それで-promiseを返す関数を実行せずに配列に入れる方法はありますか?