axios service.interceptors.response response返回promise.reject后会直接触发 Uncaught runtime errors:怎么解决
时间: 2024-03-27 16:38:49 浏览: 204
解决Vue-Router升级导致的Uncaught (in promise)问题
如果在axios的response拦截器中返回了一个被拒绝的promise,但是没有在catch方法中处理该错误,就会导致Uncaught runtime errors的出现。为了解决这个问题,可以在代码中增加一个全局的错误处理函数来处理这种情况。
例如,可以使用Vue.js中的全局错误处理函数来处理这个问题:
```javascript
Vue.config.errorHandler = function (err, vm, info) {
if (err && err.response && err.response.status === 401) {
// 处理401错误
console.log('未授权的访问');
} else {
// 处理其他错误
console.error(err);
}
};
```
在这个例子中,我们使用Vue.js中的全局错误处理函数来处理错误。如果错误是由一个401响应引起的,则处理未授权的访问,否则输出错误信息。如果使用其他框架或纯JavaScript编写代码,则可以使用window.onerror来处理全局错误。
阅读全文