Как использовать функцию jQuery .when () с динамическим набором вызовов ajax? - PullRequest
10 голосов
/ 11 июля 2011

Я использую 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 Ответ

12 голосов
/ 11 июля 2011

Это может не сработать вообще, на самом деле мне любопытно, будет ли это или нет. Попробуйте построить массив объектов обещаний, затем вызовите $.when.apply(null, arr).done(function () { ... });

apply позволяет запускать функцию и динамически передавать массив аргументов, например, в этом случае.

...