以下是一个使用 Axios 拦截器返回自身响应而不向后端发起调用的示例代码:
import axios from 'axios';
// 创建一个 Axios 实例
const api = axios.create({
baseURL: 'https://api.example.com',
});
// 添加请求拦截器
api.interceptors.request.use((config) => {
// 在发起请求之前可以对 config 进行一些处理
return config;
}, (error) => {
return Promise.reject(error);
});
// 添加响应拦截器
api.interceptors.response.use((response) => {
// 在接收到响应后可以对 response 进行一些处理
// 这里我们直接返回响应数据而不向后端发起调用
return response.data;
}, (error) => {
return Promise.reject(error);
});
// 在需要发起调用的地方使用 api 实例
api.get('/users')
.then((data) => {
// 在这里处理返回的响应数据
console.log(data);
})
.catch((error) => {
// 在这里处理错误
console.log(error);
});
在上面的示例中,我们创建了一个 Axios 实例 api,并通过 api.interceptors 添加了请求和响应拦截器。在请求拦截器中,我们可以对请求进行一些处理,比如添加请求头信息等。在响应拦截器中,我们直接返回了响应数据,而不向后端发起调用。
在使用 api 实例发起调用时,可以通过 .then() 处理返回的响应数据,通过 .catch() 处理错误。