jQuery的延期的从来没有喜欢我,我从来没有完全能够理解他们。我希望在一些延期完成后收到通知。真正的问题是延期的数量每次都不一样。所以,我不能做到这一点:麻烦jQuery的推迟
$.when(d1, d2, d3).done()
我试图$.when.apply(this, [d1, d2, d3])
只是一个完成时立即触发。
另外,我绝对需要一种方法来传递一个延迟数组。这个数组是动态的,每次我的函数执行时都会有不同数量的延迟。
我知道这可能是一个明显的解决方案,但我忘了它。
jQuery的延期的从来没有喜欢我,我从来没有完全能够理解他们。我希望在一些延期完成后收到通知。真正的问题是延期的数量每次都不一样。所以,我不能做到这一点:麻烦jQuery的推迟
$.when(d1, d2, d3).done()
我试图$.when.apply(this, [d1, d2, d3])
只是一个完成时立即触发。
另外,我绝对需要一种方法来传递一个延迟数组。这个数组是动态的,每次我的函数执行时都会有不同数量的延迟。
我知道这可能是一个明显的解决方案,但我忘了它。
阅读the documentation。它清楚地表明您可以将一个或多个延期对象传递给$.when
。另一方面,如果你传递一个不延迟的参数(如你的例子中的数组),那么done
函数将立即触发,假设参数是已解析的延迟。
UnderscorJS可以做你想做什么,看看这个:http://documentcloud.github.com/underscore/#after
我知道我可以通过他们,但我有一个参数,以预先决定数这样做,所以我可以直接通过他们。我的问题是延期是动态的,不会有预先确定数量的参数。我需要传递一系列延迟数据。 – LordZardeck 2012-02-06 19:19:15
噢,对不起,那么只要执行'$ .when.apply($,[YOUR_DEFFERED_OBJECTS_HERE])' – ori 2012-02-06 19:22:34
我正在使用apply(this)而不是apply($)。谢谢! – LordZardeck 2012-02-06 19:29:38