2012-02-06 87 views
0

jQuery的延期的從來沒有喜歡我,我從來沒有完全能夠理解他們。我希望在一些延期完成後收到通知。真正的問題是延期的數量每次都不一樣。所以,我不能做到這一點:麻煩jQuery的推遲

$.when(d1, d2, d3).done() 

我試圖$.when.apply(this, [d1, d2, d3])只是一個完成時立即觸發。

另外,我絕對需要一種方法來傳遞一個延遲數組。這個數組是動態的,每次我的函數執行時都會有不同數量的延遲。

我知道這可能是一個明顯的解決方案,但我忘了它。

回答

1

閱讀the documentation。它清楚地表明您可以將一個或多個延期對象傳遞給$.when。另一方面,如果你傳遞一個不延遲的參數(如你的例子中的數組),那麼done函數將立即觸發,假設參數是已解析的延遲。

+0

我知道我可以通過他們,但我有一個參數,以預先決定數這樣做,所以我可以直接通過他們。我的問題是延期是動態的,不會有預先確定數量的參數。我需要傳遞一系列延遲數據。 – LordZardeck 2012-02-06 19:19:15

+1

噢,對不起,那麼只要執行'$ .when.apply($,[YOUR_DEFFERED_OBJECTS_HERE])' – ori 2012-02-06 19:22:34

+0

我正在使用apply(this)而不是apply($)。謝謝! – LordZardeck 2012-02-06 19:29:38