我正在使用VueJS / Nuxt和Vuex存储,并且定义了以下方法:

async UpdateData () {
  try {
    await this.$store.dispatch('updateMyData', this.data)
    successMsg({ message: 'Data updated successfully' })
  } catch (e) {
    errorMsg({ message: 'Some error' })
  }
}


问题是我尚未创建动作'updateMyData',因此在控制台中看到错误'[vuex] unknown action type: updateMyData'

但是,仍然执行successMsg()并得到消息“数据已成功更新”。

我的假设是,如果await ...失败,它将进入catch块。

您能帮我解决我的代码的问题以及如何纠正它。

最佳答案

该错误不是实际的承诺错误,而是来自Vuex的警告,表示'updateMyData'操作尚未在Vuex存储中的任何位置注册。该消息来自一个简单的console.log(/ error / warn),而不是throwreject(),这就是为什么它不会在您的函数中失败的原因。

10-06 04:41