我正在使用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),而不是throw
或reject()
,这就是为什么它不会在您的函数中失败的原因。