我在拦截器中判断是否返回403状态,如果是就跳转到登录页面instance.interceptors.response.use(function(response){if(response.data.status==200){returnresponse.data;}elseif(response.data.status==403){//用户身份过期Message.error(response.data.errorMessage);router.push({path:'/login'});//跳转到登录页面window.localStorage.removeItem("user");//清空用户信息}else{Message.error(response.data.errorMessage);}},error=>{if(error.response){switch(error.response.status){case400:Message.error(response.error.message);break;}}returnPromise.reject(error.response.data)});这边的确能跳转到登录页面,但是还是进入到了then里面,如何不进入then里面this.$axios.get('getInfo').then((response)=>{这边依旧进入,如何让他不进入这边})
4 回答

POPMUISE
TA贡献1765条经验 获得超5个赞
我们项目封装的拦截器可以看一下200会进第一个函数吧但是可以根据code值来判断后端返回的状态非正常状态返回一个Promise.reject(res)就可以再请求时catch捕获或者统一处理/添加响应拦截器Axios.interceptors.response.use(response=>{constres=response.dataif(res.code!=='1'){Message({showClose:true,message:res.message,type:'error'})returnPromise.reject(res)}else{returnres}},error=>{Message({message:error.message,type:'error',duration:5000})//返回错误信息returnPromise.reject(error)})
添加回答
举报
0/150
提交
取消