在 Axios 中,可以通过请求拦截器来在请求完成时执行某些操作。下面是一个包含代码示例的解决方法:
首先,安装 Axios:
npm install axios
然后,创建一个 axios.js 文件,并编写以下代码:
import axios from 'axios';
// 创建一个 Axios 实例
const instance = axios.create();
// 请求拦截器
instance.interceptors.request.use(
function (config) {
// 在发送请求之前执行的操作
console.log('请求拦截器 - 请求发出');
// 可以在此处修改请求的配置,如添加请求头等
// config.headers['Authorization'] = 'Bearer token';
return config;
},
function (error) {
// 对请求错误做些什么
console.error('请求拦截器 - 请求错误', error);
return Promise.reject(error);
}
);
// 响应拦截器
instance.interceptors.response.use(
function (response) {
// 在接收响应之前执行的操作
console.log('响应拦截器 - 响应接收');
// 可以在此处对响应进行处理,如解析数据等
// response.data = response.data.data;
return response;
},
function (error) {
// 对响应错误做些什么
console.error('响应拦截器 - 响应错误', error);
return Promise.reject(error);
}
);
export default instance;
在主文件中,可以使用该 Axios 实例发送请求,并触发拦截器的操作:
import axios from './axios';
axios.get('https://api.example.com/data')
.then(function (response) {
// 请求成功时的操作
console.log('请求成功', response.data);
})
.catch(function (error) {
// 请求失败时的操作
console.error('请求失败', error);
});
这样,在发送请求之前和接收响应之后,就可以在拦截器中执行自定义的操作了。