axios的二次封装为什么还要用promise,axios本身不就是返回promise吗

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
})
}
慕桂英546537
浏览 1217回答 2
2回答

翻过高山走不出你

没发现吗,上面的示例读取了res.data和err.data,这样就不用每个请求都写一遍res=res.data了。当然,不推荐这么做,应该用axios拦截器来实现://Addaresponseinterceptoraxios.interceptors.response.use(function(response){//Dosomethingwithresponsedatareturnresponse;},function(error){//DosomethingwithresponseerrorreturnPromise.reject(error);});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript