在使用异步/等待时如何避免排队延迟?
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
答案 0 :(得分:0)
您可以将所有Promise
放入一个数组中,然后使用await
一次Promise.all
一次:
var promises = [];
for (var i = 0; i < 3; i++) {
promises.push(SomeFunction(i));
}
await Promise.all(promises);