jQuery的延迟从未喜欢过我,而且我从未完全理解它们。我希望在完成所有延迟时收到通知。真正的问题是延期数量每次都不一样。所以我不能这样做:
$.when(d1, d2, d3).done()
我尝试了$.when.apply(this, [d1, d2, d3])
,但只有一个完成时会立即触发。
另外,我绝对需要一种传递延迟数组的方法。这个数组是动态的,每次执行函数时都会有不同数量的延迟。
我知道可能有一个明显的解决方案,但我没有注意到它。
答案 0 :(得分:1)
阅读the documentation。它清楚地表明您可以将一个或多个延迟对象传递给$.when
。
另一方面,如果传递的参数不是延迟的(如示例中的数组),done
函数将立即触发,假设参数是已解析的延迟。
答案 1 :(得分:0)
Underscore JS可以做你想做的事,看看这个:http://documentcloud.github.com/underscore/#after