Как использовать функцию jQuery.when() с динамическим набором вызовов ajax?

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

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

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