Task_Array_Util

//https://stackoverflow.com/questions/15504921/asynchronous-loop-of-jquery-deferreds-promises?answertab=votes#tab-top

2020-06-01 يوللانغان نەشرى. ئەڭ يېڭى نەشرىنى كۆرۈش.

بۇ قوليازمىنى بىۋاسىتە قاچىلاشقا بولمايدۇ. بۇ باشقا قوليازمىلارنىڭ ئىشلىتىشى ئۈچۈن تەمىنلەنگەن ئامبار بولۇپ، ئىشلىتىش ئۈچۈن مېتا كۆرسەتمىسىگە قىستۇرىدىغان كود: // @require https://update.greatest.deepsurf.us/scripts/404464/811187/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) {
    log("doTask Enter");
    setTimeout(function () {
        log(taskNum);
        next();
    }, time)
}

function createTask(taskNum) {
    log("createTask Enter");
    return function () {
        doTask(taskNum, dequeueTask);
    }
}

function queueTask(tasks) {
    log("queueTask Enter");
    //tasks is an array of functions
    for (var i in tasks) {
        $(document).queue('tasks', createTask(tasks[i]));
		log("queued task " + i);
    }

    $(document).queue('tasks', function () {
        log("All tasks dequeued");
    });
}

function dequeueTask() {
    log("dequeueTask Enter");
    $(document).dequeue('tasks');
}