jQuery,在$ .when开始执行

时间:2015-07-14 08:03:31

标签: jquery

有没有办法在$ .when开始执行时添加另一个对延迟数组的调用?

我有两个按钮:

<div>
    <button id="btn1">Call 1</button>
    <button id="btn2">Call 2</button>
</div>

和一些javascript:

var deferreds = [];
$('#btn1').on('click', function () {
    deferreds.push(call1a());
    deferreds.push(call1b());

    $.when.apply($, deferreds)
        .then(function () {
            console.log('when completed');
    });
});

这很好用,然后在call1a和call1b完成后执行。 现在我想在点击按钮1之后添加另一个ajax调用,但在此之前函数已完成:

$('#btn2').on('click', function () {
    deferreds.push(call2a());
});

但似乎在没有执行新添加的call2a时。 我该如何解决这个问题?

0 个答案:

没有答案