为了账号安全,请及时绑定邮箱和手机立即绑定

新手上路,axios的二次封装为什么还要用promise,axios本身不就是返回promise吗求解答!

新手上路,axios的二次封装为什么还要用promise,axios本身不就是返回promise吗求解答!

小怪兽爱吃肉 2019-09-26 09:52:09
exportfunctionget(url,params){returnnewPromise((resolve,reject)=>{axios.get(url,{params:params}).then(res=>{resolve(res.data);}).catch(err=>{reject(err.data)})});}难道这样不可以吗exportfunctionget(url,params){returnaxios.get(url,{params:params})}
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

没发现吗,上面的示例读取了res.data和err.data,这样就不用每个请求都写一遍res=res.data了。当然,不推荐这么做,应该用axios拦截器来实现:
//Addaresponseinterceptor
axios.interceptors.response.use(function(response){
//Dosomethingwithresponsedata
returnresponse;
},function(error){
//Dosomethingwithresponseerror
returnPromise.reject(error);
});
                            
查看完整回答
反对 回复 2019-09-26
  • 2 回答
  • 0 关注
  • 758 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信