【发布时间】:2019-10-26 18:12:13
【问题描述】:
我想调用一个异步函数 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);
}
))
};
但它也没有按预期工作。
【问题讨论】:
标签: javascript async-await lodash