Jak zapętlić żądania Ajax wewnątrz JQuery Kiedy - Następnie statystyka?

Próbuję załadować kilka danych z asynchronicznego interfejsu API i po załadowaniu wszystkich danych chcę wyzwolić zdarzenie, które załaduje wszystkie dane. Mam problem z tym, że interfejs API, którego używam, ogranicza liczbę obiektów odpowiedzi do pięciu. Potencjalnie musiałbym pobrać 30–40 obiektów odpowiedzi.

Chcę więc utworzyć instrukcję when - then, która zapętli elementy danych i zażąda co pięć elementów, a następnie po załadowaniu wszystkich elementów chcę uruchomić załadowane zdarzenie. Problem, który mam, polega na tym, że instrukcja when-then kończy się przed sukcesem żądania ajax.

na kod, który próbowałem.

 function loadsLotsOfStats(stats, dataType, eventName, dataName, callback) {
     var groupedStats = [];
     while (stats.length > 0) {
         groupedStats.push(stats.splice(0, 5).join('/'));
     }
    j$.when(
        groupedStats.forEach(function (d) {
            loadJSONToData(model.apiUrl.replace("{IDS}", d), "json", "", dataName, function (d) { /*console.log(d);*/ }, true)
        })
    ).then(function () {
        j$(eventSource).trigger('dataLoaded', eventName);
    });

Funkcja loadJSONToData jest po prostu funkcją opakowującą dla Async $ .ajax.

więc tak, zdarzenie jest wyzwalane przed załadowaniem danych. Również z jakiegoś powodu, jeśli próbuję wprowadzić pętlę bezpośrednio w momencie (oświadczenie to przez błąd składniowy?

Czy ktoś ma jakąkolwiek radę, w jaki sposób mogę wykonać kilka żądań Ajax i poczekać, aż wszystkie zostaną skompilowane przed wywołaniem zdarzenia? Albo daleko, aby naprawić to, co mam obecnie?

Z góry dziękuję za pomoc.

questionAnswers(2)

yourAnswerToTheQuestion