我想调用一个异步函数n次,仅在前一个函数解决后才调用。
这是有效的代码:
async startGame() {
for (let i = 0; i < this.totalNumberOfSets; i++) {
await this.startSet();
}
}
我想将其转换为Lodash函数_.times
。
我尝试使用以下答案:Lodash: is it possible to use map with async functions?
这种方式:
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);
}
))
};
但是它没有按预期工作。