Как использовать функцию 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
позволяет вам запускать функцию и передавать массив аргументов динамически, например, в этом случае.