Задержки в очереди при использовании async / await - PullRequest
0 голосов
/ 23 сентября 2019

Как избежать задержек в очередях при использовании async / await?

for (var i = 0; i < 3; i++) {
   await SomeFunction(i)
}
// 1, 2, 3

Эта очередь сводит меня с ума, особенно при работе с различными API, но я не хочу отказываться от использования супер удобного await и возвращается к этому:

for (var i = 0; i < 3; i++) {
   SomeFunction(i)
   .then(i => {

   })
}
// 2, 1, 3

1 Ответ

0 голосов
/ 24 сентября 2019

Вы можете поместить все Promise в массив, а затем await их все одновременно с помощью Promise.all:

var promises = [];
for (var i = 0; i < 3; i++) {
  promises.push(SomeFunction(i));
}
await Promise.all(promises);
...