Я хотел бы вызывать асинхронную функцию n раз, вызывая каждый раз только после разрешения предыдущей.
Это код, который работает:
async startGame() {
for (let i = 0; i < this.totalNumberOfSets; i++) {
await this.startSet();
}
}
Я хотел бычтобы преобразовать его в функцию Lodash _.times
.
Я пытался использовать этот ответ: Lodash: возможно ли использовать map с асинхронными функциями?
следующим образом:
async startGame() {
await Promise.all(_.times(this.totalNumberOfSets, async () => {
await this.startSet()
}))
};
но все функции вызывались сразу четыре раза, не дожидаясь разрешения.
Также пытались это сделать:
async startGame() {
let resArray = [];
await Promise.all(_.times(this.totalNumberOfSets, async () =>{
let res = await this.startSet()
resArray.push(res);
}
))
};
, но она не работала так, как ожидалосьхорошо.