写一个vue导出的响应拦截器
时间: 2024-04-13 09:29:29 浏览: 101
当你在 Vue 项目中使用 axios 进行网络请求时,你可以通过导出一个响应拦截器来处理返回的数据。以下是一个示例:
```javascript
// 在一个单独的文件中创建一个 axios 实例
import axios from 'axios';
const instance = axios.create({
baseURL: 'http://api.example.com', // 设置请求的基础 URL
});
// 添加响应拦截器
instance.interceptors.response.use(
function(response) {
// 在这里对返回的数据进行处理
return response.data;
},
function(error) {
// 对响应错误做处理
return Promise.reject(error);
}
);
export default instance;
```
在上面的示例中,我们首先使用 `axios.create` 创建了一个自定义的 axios 实例,并设置了基础 URL。然后,通过调用 `instance.interceptors.response.use` 方法来添加响应拦截器。
在响应拦截器函数中,第一个参数是成功响应的回调函数,你可以在这里对返回的数据进行处理。这里示例中我们只是简单地返回了响应的数据部分。
第二个参数是失败响应的回调函数,你可以在这里对错误进行处理。在示例中,我们只是简单地将错误进行了拒绝(reject)。
最后,我们通过 `export default` 将我们的 axios 实例导出,以便在其他组件中使用。你可以在其他组件中导入该实例并使用它来发起网络请求,它将自动应用该响应拦截器。
阅读全文