vuex 为什么需要action,我发现进行异步操作回调中直接操作mutation也没有报错

  1. 为什么vuex 需要action,我进行向后抬数据请求的时候,直接把mutation写在异步回调中,响应式也是有效的,不知道为什么要通过action操作mutation?

阅读 8.7k
2 个回答

vuex原文解释。

在 mutation 中混合异步调用会导致你的程序很难调试。例如,当你能调用了两个包含异步回调的 mutation
来改变状态,你怎么知道什么时候回调和哪个先回调呢?这就是为什么我们要区分这两个概念。在 Vuex 中,mutation 都是同步事务:

actions其实只是普通的函数(尤老大知乎原话),正是因为不可以在mutation中进行异步操作才要action,但是他本质上就是普通的函数,其实你不写actions也行的,只不过把常用的操作封装到actions里边用起来比较方便,也能在全局进行复用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题