2011-11-04 77 views
19

我想向服務器發送[1,n)AJAX請求,並且在返回結果之後,模態對話框應該關閉。 $.when(a(), b(), c())將是完美的,但我不知道如何將可變數量的函數傳遞給$.when作爲參數。任何想法如何解決這個問題?

+0

相關:[你如何使用jQuery Deferreds的數組?](http://stackoverflow.com/q/4878887/1048572) – Bergi

回答

27

調用函數並將它們的返回值添加到數組中。然後調用$.when傳遞數組作爲參數,如下所示:

$.when.apply($, array) 

用於擴展示例的更多信息和my answer here參見Function.prototype.apply[MDN]

+1

有時候,只是時間把頭撞到桌子上...... JS是太美麗,無法獲得它的所有美麗 - .apply()就是其中之一!非常感謝「Denkanstoß」;-) – Botic

+0

不客氣! Bitte schoen :) –