Использование шаблона "Отложенное" из jQuery http://api.jquery.com/jQuery.when/, я пытаюсь сделать несколько jj-jj-вызовов ajax и дождаться результатов, прежде чем переходить к следующий шаг. Я могу выполнить это, используя фиксированное количество вызовов, потому что я могу установить количество разрешенных параметров аргумента в "отложенном" объекте ".done()". Но в моем приложении это не работает, потому что количество вызовов является динамическим и всегда неизвестным.
Этот первый упрощенный пример работает, потому что я могу установить количество аргументов в функции .done(). Я знаю, что мне нужно два, потому что есть два вызова в .when():
$.when( $.ajax( url1 ), $.ajax( url2 ) ).done(function( a1, a2 ) {
var data = a1[ 0 ] + a2[ 0 ];
});
Это то, что мне нужно, но не могу заставить его работать:
var urls = GetUrlList(); // returns array of urls to json service
var requests = []; // hold ajax request
for (i = 0; i < urls.length; i++) {
requests.push($.ajax(url[i]));
}
$.when.apply($, requests).done(function ("what goes here?") {
// Need to get the data returned from all ajax calls here
});
Спасибо за любую помощь в этом!