axios 设置拦截器后会无限次的请求接口?
为什么给 axios 设置拦截器之后,在请求失败之后会出现无数次的重试请求?
大致流程是这样,我点击退出的时候(或者任何一个 ajax 请求) access_token 过期了,然后我想向后端请求一个新的 access_token 之后再重试下这个接口,下面是代码,看起来好像没什么问题,但是只要我清空后端的 access_token,再点击退出就会出现无数次的重试,请问这是为什么?
Vue.axios.interceptors.response.use(async function (response) {
if (response.data.error.code === 900 && response.status === 200) {
let accessToken = await store.dispatch('getAccessToken').catch(() => {})
Vue.axios.defaults.headers['Authorization'] = `Bearer ${accessToken}`
return axios(response.config)
}
return response
}, function (error) {
// Do something with response error
return Promise.reject(error)
})
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
好吧,是我自己的问题,返回回去的 response 的 authorization 没更新,一直循环了..
在axios拦截器里调用接口无限调用有什么好的解决方法吗