vue.js - vuex 为什么突变中没有异步(似乎无论如何都有效)

标签 vue.js vuex

我想知道为什么所有教程都说突变不能使用异步代码。

我尝试过,它显然有效:

mutations: {
    clearTodo(state) { setTimeout(() => state.todo = '', 1000) }
},

结果与以下内容相同:

mutations: {
    clearTodo(state) { state.todo = '' }
},
actions: {
    clearTodoAction({commit}) { setTimeout(() => commit('clearTodo'), 1000)}
}

最佳答案

请阅读对此的解释thread

简而言之,this is the best answer我认为

enter image description here

关于vue.js - vuex 为什么突变中没有异步(似乎无论如何都有效),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44279348/

相关文章:

javascript - 如何排列映射而不是嵌套的 for 循环

vue.js - 在 mapActions() 中找不到 Vuex 模块命名空间

typescript - 为什么这个语句会抛出 typescript 错误?

typescript - 使用 this.$parent.somePropOrMethod 和 this.$root.somePropOrMethod 时,属性 X 在类型 'Vue' 上不存在

javascript - Vue.js 基于子域加载 CSS

javascript - 从 fetch 请求中提取数据并将其导出

binding - 使用计算属性和 VueX 的样式绑定(bind)

vue.js - 如何从 vue js 中的登录组件更新用户状态?

vue.js - 类型错误 : Converting circular structure to JSON Vuejs

javascript - 多个模板插槽的相同插槽内容