Отправка одного запроса AJAX из цикла

Я знаю, что этот вопрос задавали бесчисленное количество раз, но я не могу понять, как заставить этот ответ работать в моем случае: wait for async Функция javascript для возврата

Я просматриваю некоторые "телевизионные каналы" во внешнем цикле, а затем просматриваю даты недели во внутреннем цикле. Во внутреннем цикле я делаю ajax-запрос к серверу для получения данных, а затем сохраняю / кеширую их для дальнейшего использования, например

var dates = []; //<-- Contains a list of dates for the coming week 
var baseUrl = "http://www.someserver.com";
var storedChannels = [1,2,3,4,5,6,7,8,9,10,45,23,56,34,23,67,23,567,234,67,345,465,67,34];

for(ch = 0; ch < storedChannels.length; ch++) {   
    var channel = storedChannels[ch];
    for(d=0; d < 7; d++) {
        var currentDate = dates[d];
        ajax({    
            url: baseUrl+"?ch="+channel+"&dt=currentDate"+,
            complete: function(res) {
                CMLocalStore.setString('ch' + ch + "_" + scheduleDay, res);
            },
        });
        //Want to wait here till the ajax request completes.
        //Do not want to continue to next iteration.
        //Do not want to fire of 50 bazillion ajax requests all at once
        //Why? Very limited bandwidth scenario, plenty of channels  
    }
}

PS: НЕТ JQuery, пожалуйста! Только простые JS-решения

Большое спасибо!

10
задан Community 23 May 2017 в 10:30
поделиться