Как ждать завершения forEach, содержащего вызов асинхронной функции - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть forEach с XMLHttpRequest, и я хочу сделать что-то после завершения всех запросов в этом цикле.(Я хочу добавить прослушиватель событий для каждого элемента, который я добавил после цикла).

У меня действительно есть функция, которая оборачивает XMLHttpRequest, а именно:

function requestAPI(method, url, token = null, json = null, callback = null) {
  const rawFile = new XMLHttpRequest();
  rawFile.overrideMimeType('application/json');
  rawFile.open(method, url, true);
  if (token != null) {
    rawFile.setRequestHeader('Authorization', `Token ${token}`);
  }
  rawFile.setRequestHeader('Content-type', 'application/json; charset=utf-8;');
  rawFile.onreadystatechange = () => {
    if (rawFile.readyState === 4) {
      console.log(rawFile);
      callback(rawFile);
    }
  };
  rawFile.send(JSON.stringify(json));
}

И затем мойцикл это что-то вроде:

campaigns.forEach((campaign, campaignIndex) => {
    requestAPI('GET', `${API_ADDRESS}/call1/`, token, None, (response1) => {
        // code to add element to page
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...