有没有办法在$ .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时。 我该如何解决这个问题?