axios拦截器 返回200一定会进入then方法吗?
我在拦截器中判断是否返回403状态,如果是就跳转到登录页面
instance.interceptors.response.use(function(response){
if(response.data.status == 200){
return response.data;
}else if(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) {
case 400: Message.error(response.error.message); break;
}
}
return Promise.reject(error.response.data)
});
这边的确能跳转到登录页面,但是还是进入到了then里面,如何不进入then里面
this.$axios.get('getInfo')
.then((response) => {
这边依旧进入,如何让他不进入这边
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我们项目封装的拦截器 可以看一下 200 会进第一个函数吧 但是可以根据code值来判断后端返回的状态
非正常状态 返回一个 Promise.reject(res) 就可以再请求时 catch捕获 或者统一处理
应该没有这样的方法,除非你魔改一下源码,
其实可以在then那里加一个判断