我的应用程序中到处都是标准的 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/