Vue JS - 在 return 之后调用函数
Vue JS - Call function after return
我有一个函数可以让我在调用函数 deleteAccount 时删除帐户。我希望用户在从 vuex 商店返回 deleteAccount 后立即注销。现在,我通过使用 setTimeout 找到了解决此问题的方法,但是我觉得这并不是真正的最佳选择。有人可以为此提出更优化的解决方案吗?
删除帐户组件
logout: function () {
this.$store.commit(SET_LOGOUT);
this.$store.commit(RESET_BASIC_MODAL_DATA);
this.$router.push({name: ROUTE_NAMES_AUTH.LOGIN});
},
deleteAccount: function () {
setTimeout(this.logout, 50);
return this.$store.dispatch(DELETE_USER_ACCOUNT);
},
vuex actions return一个promise,你可以使用then
或者await
:
this.$store.dispatch(DELETE_USER_ACCOUNT).then(logout)
// or
deleteAccount: async function () {
await this.$store.dispatch(DELETE_USER_ACCOUNT)
logout()
}
我有一个函数可以让我在调用函数 deleteAccount 时删除帐户。我希望用户在从 vuex 商店返回 deleteAccount 后立即注销。现在,我通过使用 setTimeout 找到了解决此问题的方法,但是我觉得这并不是真正的最佳选择。有人可以为此提出更优化的解决方案吗?
删除帐户组件
logout: function () {
this.$store.commit(SET_LOGOUT);
this.$store.commit(RESET_BASIC_MODAL_DATA);
this.$router.push({name: ROUTE_NAMES_AUTH.LOGIN});
},
deleteAccount: function () {
setTimeout(this.logout, 50);
return this.$store.dispatch(DELETE_USER_ACCOUNT);
},
vuex actions return一个promise,你可以使用then
或者await
:
this.$store.dispatch(DELETE_USER_ACCOUNT).then(logout)
// or
deleteAccount: async function () {
await this.$store.dispatch(DELETE_USER_ACCOUNT)
logout()
}