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

用axios封装http请求时,怎样做判断自定义状态值成功后对应的操作?

用axios封装http请求时,怎样做判断自定义状态值成功后对应的操作?

弑天下 2019-05-12 11:10:54
以前在ajax中可以这样处理request(param){$.ajax{type:param.type,url:param.url,success(res){if(res.status===0){typeofparam.success==='function'&¶m.success(res.data)}elseif(res.status===1){login()}elseif(res.status===2){typeofparam.success==='function'&¶m.success(res.data)}},error(err){typeofparam.error==='function'&¶m.error(res.err)}}}像上面这种情况,比如状态为0表示成功,然后进行成功后的处理,这在axios中怎么处理呢?
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

可以添加一个响应拦截器
constinstance=axios.create()
//添加一个响应拦截器
instance.interceptors.response.use(response=>{
window.vm.$loading.hide()
//在这里对返回的数据进行处理
letstatus=response.status
letdata=response.data
if(status===200){
if(data.code!=='0000'){
window.vm.$alert({
msg:data.desc,
type:'danger'
})
}
returnPromise.resolve(data)
}else{
returnPromise.reject(response)
}
},error=>{
//responseerror
console.log(error)
window.vm.$loading.hide()
window.vm.$alert({
msg:'请求异常,请联系管理员!',
type:'danger',
autoClose:false
})
returnPromise.reject(error)
})
exportdefaultinstance
                            
查看完整回答
反对 回复 2019-05-12
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

asyncfunctionrequest(param){
let{url,method,success,error}=param
try{
let{data,status,error}=awaitaxios({method,url})
if(status===0){
typeofsuccess==='function'&&success(data)
}elseif(status===1){
login()
}elseif(status===2){
typeofsuccess==='function'&&success(data)
}
}catch(err){
typeoferror==='function'&&error(err)
}
}
                            
查看完整回答
反对 回复 2019-05-12
  • 2 回答
  • 0 关注
  • 1731 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号