如何将jQuery .when()函数与动态的ajax调用一起使用?

时间:2011-07-11 19:30:49

标签: javascript ajax jquery jquery-deferred

我正在使用JqGrid,并且对于我正在加载的网格中的每一行,我正在进行ajax调用以获取其他数据。

一旦完成,我需要应用一些格式。

我想使用$ .when(),但我不确定如何调用它。我正在研究apply()方法,但我仍然没有看到如何正确使用它。

这是我的代码:

 $(rows).each(function () {
                        $.ajax(
                        {
                            url: url,
                            data: data,
                            success: function (result) {

                                }
                            }
                        });
                    });

   $.when(**What do i pass here??**).done(function () {

                    });

我曾尝试将每个$ .ajax调用推送到数组,但我无法直接传递数组,并调用所有内容。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:12)

这可能根本不起作用,事实上我很好奇它是否会。尝试构建promise对象数组,然后调用$.when.apply(null, arr).done(function () { ... });

apply允许您触发一个函数并动态传递一个参数数组,例如在这种情况下。