【发布时间】:2018-03-10 04:23:38
【问题描述】:
我正在使用 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 块。
请您帮忙解决我的代码有什么问题以及如何纠正它。
【问题讨论】:
-
你熟悉 Promise 吗?
await/async基本上是一种使用 Promise 的新语法。如果此代码的 promise 版本没有失败,await版本也不会失败。 -
我没怎么用过promise。但是看看上面的内容,你为什么认为它没有发现错误?
-
@acdcjunior - 你读过这个问题了吗?即代码块正下方的语句。
-
无害。都只是想帮忙。所以支持我的答案 - 因为它毕竟是最好的答案:-)
标签: javascript vue.js vuejs2 nuxt.js