axios回调函数强制转换(promise回调函数强制转换)
一般我们的项目的axios都是会全局封装的,所以我们的调用如下:
this.$http({ url:"xxxx:xxx:xxx", method:"get", params:{} }) .then(res=>{ if(res.code == 200 && res){ // 这里写对数据的处理操作 } }) .catch(()=>{ // 这里写请求失败的操作 })
一般情况就是这样,但是呢,有时候,因为后端的原因,出现了这样的情况,数据是请求回来了,但是后端将code定义为了非200,但是浏览器返回的请求状态码是200,也就是我这个请求有数据,但是处理不了,同时又进入不了catch里面做操作,一般来说,只要进入了then函数里,就不会再进入catch函数,所以这个时候我们如何再then函数进入catch函数呢?
this.$http({
url:"xxxx:xxx:xxx",
method:"get",
params:{}
})
.then(res=>{
if(res.code == 200 && res){
// 这里写对数据的处理操作
}else{
return Promise.reject()
}
})
.catch(()=>{
// 这里写请求失败的操作
})