Javascript开始处理下一个事件,然后才完成

时间:2016-04-04 10:16:16

标签: javascript jquery

我的JS活动如下:

        $(document).on('change', 'input[name="' + ID +'[]"]', function() {
            upload($(this));
        });

因此多个字段可以调用此事件,我可以调用

upload($(this));

只有在上一个事件结束后才会这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用Async库设置queue管理系统,例如:

var q = async.queue(function (element, callback) {
    // calling the upload task with the element arguments
    upload(element)
    // calling next task
    callback();
}, 1); // we limit the task to 1 at a time

$(document).on('change', 'input[name="' + ID +'[]"]', function() {
    // enqueing the task with $(this) as argument
    var val = $(this).val()
    q.push($(this), function (err) {
        // this will be logged when the task is completed
        console.log('finished processing ' + val);
    });
});

另一种方法是使用Promises

数组