javascript - 如何全局或从一个点管理 axios 错误

标签 javascript promise vuejs2 try-catch axios

我的应用程序中到处都是标准的 then/catch axios 代码,一个简单的代码就像这样..

axios.get('/').then( r => {} ).catch( e => {} )

我遇到的问题是我必须复制 catch() block 来处理我在我的应用程序中调用的任何潜在错误,我的问题是,如果有什么我可以从入口点全局捕获错误,而不是在任何地方使用 catch。

我正在从 axios 端或 vue 寻找解决方案,因为我的应用程序是用 vue 构建的

最佳答案

你应该使用 interceptor .

首先,使用 create 方法创建一个 axios 实例。这是您需要在整个应用程序中使用的内容,而不是直接引用 axios。它看起来像这样:

let api = axios.create({
  baseURL: 'https://example.com/api/',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'}
});

然后将拦截器附加到您的 axios 实例,以便在响应该实例的每个请求后调用:

api.interceptors.response.use((response) => response, (error) => {
  // whatever you want to do with the error
  throw error;
});

关于javascript - 如何全局或从一个点管理 axios 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48990632/

相关文章:

javascript - 使用 jquery 或 Javascript 从字符串中删除公共(public)字符串

javascript - 使用 underscore.js 按年份过滤

javascript - 删除背景网址,但仅在图像完全加载后

Javascript:使用 setTimeout 重试的函数

vuejs2 - 自定义 Vue 组件的 v-model 与 props

vue.js - 跟踪 vue.js 中外部变量的计算属性未更新

javascript - AngularJS + HTML5 录制音频文件

java - 如何用 JSF 实现 JQuery 确认对话框

javascript - 在 for 循环中解决 promise

javascript - Vue.js:v-for 超过对象会导致键的顺序错误