我想调用一个异步函数 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);
}
))
};
但它并没有像预期的那样工作。
最佳答案
尝试使用这个包,它支持 lodash 中的 async/await https://www.npmjs.com/package/async-dash
关于javascript - 如何在 Lodash _.times 函数中使用异步等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56558652/