这个问题可能与编译和部署后的代码压缩有关。在压缩后,函数名称可能会发生变化,从而导致interceptor中的setTimeout不能正确地调用。解决方法是用命名函数替换setTimeout中的匿名函数。例如:
// 原本的代码 axios.interceptors.request.use(config => { setTimeout(() => { console.log('interceptor working'); }, 1000); return config; });
// 解决方法 function interceptorCallback() { console.log('interceptor working'); } axios.interceptors.request.use(config => { setTimeout(interceptorCallback, 1000); return config; });
这样,在编译和部署后,interceptor仍然能够正常工作。
下一篇:axios拦截器是如何触发的