我想創建我認爲被稱爲「瀑布」的東西。我想順序處理一組異步函數(jQuery promise)。jQuery的異步循環延期(承諾)
下面是一個人爲的例子:
function doTask(taskNum){
var dfd = $.Deferred(),
time = Math.floor(Math.random()*3000);
setTimeout(function(){
console.log(taskNum);
dfd.resolve();
},time)
return dfd.promise();
}
var tasks = [1,2,3];
for (var i = 0; i < tasks.length; i++){
doTask(tasks[i]);
}
console.log("all done");
我想它在完成它們被執行的順序(存在於陣列中)的任務。因此,在這個例子中,我希望它執行任務1並等待它解決,然後執行任務2等待它解決,執行任務3等並記錄「全部完成」。
也許這真的很明顯,但我一直試圖弄清楚這一點下午。
這是一種!爲我解決了一個非常棘手的問題。非常感謝你。 – 2015-11-04 10:52:48