var array = [DefferdObj, DefferdObj, DefferdObj, DefferdObj];
array[0].then
array[1].then
array[2].then
・
・
・
我想异步执行 DeferedObj。这个数组可以动态改变。
var array = [DefferdObj, DefferdObj, DefferdObj, DefferdObj];
array[0].then
array[1].then
array[2].then
・
・
・
我想异步执行 DeferedObj。这个数组可以动态改变。
如果您希望在它们全部完成后运行一段代码,那么:
$.when.apply(null, array).then(function() {
console.log("all deferreds in array are complete!");
});
如果您希望控制 deferreds 的运行顺序,则必须确保 deferreds 尚未开始。在将它们放入数组之前,我建议将它们包装在一个正在进行的延迟中。
var last = array[0];
function tackOnFunction(fn) {
array.push(last = last.then(fn));
}