//https://stackoverflow.com/questions/15504921/asynchronous-loop-of-jquery-deferreds-promises?answertab=votes#tab-top
Version vom
Dieses Skript sollte nicht direkt installiert werden. Es handelt sich hier um eine Bibliothek für andere Skripte, welche über folgenden Befehl in den Metadaten eines Skriptes eingebunden wird // @require https://update.greasyfork.org/scripts/404464/811281/Task_Array_Util.js
//slightly modified from
//https://stackoverflow.com/questions/15504921/asynchronous-loop-of-jquery-deferreds-promises?answertab=votes#tab-top
/*
TODO Description
*/
var time = Math.floor(Math.random() * 3000);
function doTask(taskNum, next, args) {
log("doTask Enter");
setTimeout(function () {
log("TEST");
taskNum(args);
next();
}, time)
}
function createTask(taskNum, args){
log("createTask Enter");
return function(next){
doTask(taskNum, next, args);
}
}
function queueTask(tasks, args) {
log("queueTask Enter!");
log("tasks | " + tasks);
log("args | " + args);
//tasks is an array of functions
for (var i = 0; i < tasks.length; i++) {
log("queueTask i " + i);
$(document).queue('tasks', createTask(tasks[i], args[i]));
}
$(document).queue('tasks', function () {
log("All tasks dequeued");
});
dequeueTask();
}
function dequeueTask() {
log("dequeueTask Enter");
$(document).dequeue('tasks');
}