Ich versuche zu schaffen, was ich denke, wird als "Wasserfall" bezeichnet. Ich möchte ein Array von asynchronen Funktionen (jQuery Versprechungen) sequentiell verarbeiten.Asynchrone Schleife von jQuery Verzögerte (Versprechen)
Hier ist ein konstruiertes Beispiel:
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");
Ich mag es die Aufgabe, in der Reihenfolge vervollständigen sie (in der Array) ausgeführt werden. In diesem Beispiel möchte ich, dass es Aufgabe 1 ausführt und darauf wartet, dass es aufgelöst wird, dann Aufgabe 2 abwarten, bis es aufgelöst wird, Aufgabe 3 usw. und das Protokoll "alles erledigt".
Vielleicht ist das wirklich offensichtlich, aber ich habe versucht, dies den ganzen Nachmittag herauszufinden.
das ist einzigartig! löste ein sehr schweres Problem für mich. vielen Dank. –