@ColdSpirit

Как в $.when запихать массив запросов?

Добрый день. Делаю запросы на страницу, добавляю в массив. Нужно чтобы функция when работала с массивом, или что-то подобное. Написал подобный код в Greasemonkey (тостер привел как пример):
this.$ = this.jQuery = jQuery.noConflict(true);
$(function () {
$(document).ready(function()
{
        console.log('start');

        var link1 = "https://toster.ru/";
        var link2 = "https://toster.ru/questions";
        
        var queryArray = [];
        
        var query1 = $.get(link1).done(function($page){console.log("page1 loaded");});
        var query2 = $.get(link2).done(function($page){console.log("page2 loaded");});
        
        queryArray.push(query1);
        queryArray.push(query2);
                
        
        $.when(queryArray).done(function(){console.log("all pages loaded");});

        console.log('end');

});
});


Вот что он мне выводит ("all pages loaded" должен быть в самом конце):
start
 all pages loaded
end
 page1 loaded
 page2 loaded


Если задавать запросы отдельно, то всё нормально работает, но это не вариант:
$.when(query1, query2).done(function(){console.log("all pages loaded");});


Как в $.when запихать массив запросов, или есть ли альтернативы?
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
$.when.apply($, queryArray)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы