如何在Lodash _.times函数中使用异步等待?

时间:2019-06-12 09:17:02

标签: javascript async-await lodash

我想调用一个异步函数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);
    }
  ))
 };

但是它没有按预期工作。

1 个答案:

答案 0 :(得分:0)

尝试使用这个包,它支持 lodash 中的 async/await https://www.npmjs.com/package/async-dash