异步执行DefferedObjs

时间:2013-06-17 07:12:19

标签: jquery jquery-deferred

var array = [DefferdObj, DefferdObj, DefferdObj, DefferdObj];

array[0].then
array[1].then
array[2].then
  ・
  ・
  ・

我想异步执行Deferred Obj。 这个数组可以动态改变。

1 个答案:

答案 0 :(得分:0)

如果您希望在完成后运行一段代码,那么:

$.when.apply(null, array).then(function() {
  console.log("all deferreds in array are complete!");
});

如果您希望控制延迟运行的顺序,则必须确保延迟尚未开始。在将它们放入数组之前,我建议将它们包装在一个持续的延迟中。

var last = array[0];
function tackOnFunction(fn) {
  array.push(last = last.then(fn));
}