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

标签 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);
    }
  ))
 };

但它并没有像预期的那样工作。

最佳答案

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

关于javascript - 如何在 Lodash _.times 函数中使用异步等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56558652/

相关文章:

javascript - 单击打开菜单关闭其他菜单

javascript - 使用 Javascript Fetch API 对异步获取的数据进行排序

javascript - webpack4 lodash 大小太大

javascript - 使用 lodash 进行数据操作(某种左连接)

javascript - 为什么设置 window.location.href 不会停止脚本执行

javascript - 需要将 <audio> 的音量设置为零,或者只是想将其静音(对于移动 android chrome 和 ios 的 safari)

javascript - 无法使用 JavaScript 打开 chrome 浏览器

javascript - Promise 无法通过异步得到解决

javascript - 无法理解异步/等待和 promise 的工作

javascript - Lodash uniqBy 数组的倍数?