action请求_vuex结合axios异步请求数据的封装

0c936af9c3fcc30e25a6568a85b3f60b.png

本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发、Nodejs、Python、Linux、IT资讯等板块.

首先, 概括下 vuex基本使用流程为: 在action中分发异步请求, 在异步回调中提交mutation,在mutation中修改state, 使用getters对state的值进行计算封装.

为了能够很好的隔离页面view视图与数据的请求, 同时在使用vuex的action分发异步请求后,能够接收回调,进行了以下封装:

一. http的封装

http模块包含3个文件, config.js , http.js , api.js

config.js 封装网关域名,及所有接口的方法名

f3d1acf883e928082d6c1baba7f4c77a.png

http.js 封装axios基本的get, post请求

23c80e26313c58e4c8ab0bc3e5fff83d.png

api.js 封装接口名及对应的传输字段,回调响应数据

132743b4efcc6f8c128d8fc24d65c0d5.png

二. vuex模块的封装

vuex通过action异步请求,为了回调执行状态,需在action中返回promise,针对该异步请求的封装, 分为2种情况:

1. view层需要渲染的数据,例如:加载用户基本信息,加载商品列表,订单列表

异步请求后,需要提交mutation,修改state,使用getters计算

2. 执行某个功能动作,例如点赞,添加,删除

异步请求后,不需要提交mutation,不需要使用state中的数据

下图的获取用户基本信息属于情况1, 执行点赞动作属于情况2

837f4ec6b3efa584ff03c5432d21dc29.png

为了处理以上两种情况,做了以下封装 (假设:code=1,请求成功, code=0, 请求失败)

4b0a17166b733a815822efe5aa66ce45.png

04709c1d703f47b6a9ba2c2453dc488d.png

在页面调用如下:

7f13f5d94b3afdb707ee5773835e53ce.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值