axios拦截,多个接口返回同样的结果怎么只触发一次,比如弹窗
service.interceptors.response.use(response => {
if (response.data.code === 3300) {
removeCookie('data')
Message({
message: response.data.msg,
type: 'error',
duration: 2000
})
route.push('/login')
}
3300是登录过期,但是经常会同时好几个接口都触发,导致弹窗好几个,怎么能限定只触发一次呢,用了flag=true也不行,因为是多个接口同时触发,并没有效果
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
设一个全局变量
flag
,3300时判断flag
是否为true
,是则中止,否则设为true
,并进行你原先的操作let f;
service.interceptors.response.use(response => {
我们也遇到过这种情况,解决办法就是给Message方法包装一下,加上节流就好了!!
一般
Message
都会返回一个实例,然后用这个来判断?如果没有的话自己也可以封装一层例如