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(()=>{
      // 这里写请求失败的操作
})

  

 

posted @ 2020-03-19 00:00  秃头代码侠  阅读(618)  评论(0编辑  收藏  举报