首页 > 解决方案 > forEach 循环中的 Promise

问题描述

我有一个 API 调用来更新循环中的记录。我想对 API 调用做出承诺,以便在第一次迭代完成之前不会调用下一次迭代。我怎样才能做到这一点?

我已经尝试过了,但这给出了一个错误“不能在异步函数之外使用关键字'await'”

async saveMyData(){
  this.elements.forEach(element => {
        await this.$refs.DM.saveInternalData(element)
  })
}

标签: javascriptvue.js

解决方案


如果要async在循环中使用函数,可以执行以下操作:

for (let i = 0; i < elements.length; i += 1) {
  await foo();
}

推荐阅读