Динамические множественные отложенные вызовы jQuery Ajax

Использование шаблона Deferred из jQueryhttp://api.jquery.com/jQuery.when/Я пытаюсь сделать несколько вызовов JSONP 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
});

Спасибо за любую помощь в этом!

Ответы на вопрос(1)

Ваш ответ на вопрос