2011-11-04 48 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 :) –