组合多个action,处理更加复杂的异步流程。

业务逻辑场景:存在2个action,actionA和actionB,先执行完actionA才能执行actionB。

actions:{actionA({commit}){return new Promise((reslove,reject)=>{commit('someMutationA')reslove()})}
}复制代码

第一种,在组件里派发action

this.$store.dispatch('actionA').then(()=>{// ...派发其他的action或者写其他的逻辑
})复制代码

第二种,在actions里派发另一个action

actions:{actionB({dispatch, commit}){return dispatch('actionA').then(()=>{commit('someOtherMutation')})}
}复制代码

第三种,使用async/await的写法

actions:{async actionA({commit}){commit('someMutationA', await someMutationA())},async actionB({dispatch,commit}){await dispatch('actionA') // 等待actionA完成commit('someMutationB', await someMutationB)}
}复制代码

问题:入职新公司,看他们的项目中使用了大量的复杂action,大概有几百个,但是都没有commit方法,仅仅只是使用这个架构。每一个action处理之前都派发了另一个发送请求和路由拦截的action。看懵了,不知道他们以前为什么这么写。感觉是把API的东西放在了store文件夹下的action里面。

vuex中组合action的使用相关推荐

  1. vue之mapMutaions的使用 vuex中 action 用法示例 api.js的使用

    vue之mapMutations的使用 我们通过Mutation来改变store中的state,方法往往是在子组件中使用 this.$store.commit(); 来实现,但是这样的缺点是不容易查看 ...

  2. vuex中mutation和action的详细区别

    一.vuex中mutation和action的详细区别 const store = new Vuex.Store({state: {count: 0},mutations: {increment (s ...

  3. Vue2.x—理解vuex核心概念action(使用到ES6的变量的解构赋值)

    Action Action 类似于 mutation,不同在于: Action 提交的是 mutation,而不是直接变更状态. Action 可以包含任意异步操作. 让我们来注册一个简单的 acti ...

  4. Vuex中的核心方法

    Vuex中的核心方法 Vuex是一个专为Vue.js应用程序开发的状态管理模式,其采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.每一个Vuex应用的核心就是 ...

  5. vuex结合php,vuex中store的使用介绍(附实例)

    本篇文章给大家带来的内容是关于vuex中store的使用介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.状态管理(vuex)简介 vuex是专为vue.js应用程序 ...

  6. vuex中store 的mutation

    vuex中store 的mutation 1.mutation 官方解释mutation: 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation.Vuex 中的 mutation ...

  7. vue 将数据保存到vuex中

    在项目中遇到这样一个问题,就是在登入的时候同时需要从后台获取到左边的导航,但是如果使用h5的localStorage来保存导航信息,会出现app加载进去之后localStorage才保存进浏览器,在m ...

  8. 关于vuex中actions可以返回promise的用法

    在vuex中的actions中 addCartList({ state, commit }, payload) {return new Promise((reslove, reject) => ...

  9. vuex中actions配合mutation处理axios请求

    众所周知,vuex中actions一般用来做异步操作,像数据请求,定时器,都不应该直接写在mutation,像我就犯了这个错 Vuex mutations: {PLAY(state, obj) {co ...

最新文章

  1. 5G时代,会有什么奇葩事儿?
  2. ORACLE用户权限管理笔记整理
  3. 3月24日下午专家聊天室:轻松掌握WCF 帮你找到入门砖
  4. 浓缩版java8新特性
  5. 真相了!敲代码时,程序员戴耳机究竟在听什么?
  6. Java EE状态会话Bean(EJB)示例
  7. C语言二叉树实验报告流程图,二叉树的建立与遍历实验报告(c语言编写,附源代码).doc...
  8. php mysql实现下拉列表查询_php mysql如何实现通过下拉框查询显示数据库中的数据...
  9. 信息学奥赛一本通 1958:【12NOIP普及组】寻宝 | OpenJudge NOI 1.12 06 | 洛谷 P1076 [NOIP2012 普及组] 寻宝
  10. 前端开发 图片的插入 。。。。需演练
  11. 100万并发连接服务器笔记之准备篇
  12. sonar jacoco 覆盖率为0_接口测试代码覆盖率(jacoco)方案分享
  13. windows下交换ctrl和capslock
  14. 解决:Firefox添加xpi扩展组件提示“此附件组件无法安装,未通过验证”
  15. 一次PHP网站木马查杀记录
  16. 高中生如何才能快速提高高二数学成绩
  17. matlab中class,[转载]Matlab中的类(Class)
  18. 阿里云数据库(RDS)是什么,与传统数据库有什么区别?
  19. 科学计算基础软件包NumPy入门讲座(5):常用函数
  20. 水安ABC考试多选练习题库(6)

热门文章

  1. 五个方面入手 教你如何成为领导型CIO
  2. 金融行业数据管理将何去何从?
  3. SAP 科目主数据属性定义
  4. 「模型训练」如何迁移学习一个小网络到移动端
  5. 「AI初识境」激活函数:从人工设计到自动搜索
  6. 柳昀哲课题组在Nature Reviews Neuroscience上发表长篇综述提出表征富集理论
  7. 科学家打造全套人工神经系统 帮助瘫痪病人重新控制身体
  8. AI 3.0》王飞跃教授推荐序——未来智能:人有人用,机有机用
  9. 人工智能和自然智能能否交汇?李飞飞对话斯坦福神经生物学教授Bill Newsome
  10. 机器学习揭示了人类大脑的新见解