Axios 进行网络请求时,可以使用 axios.create() 方法创建一个自定义的 Axios 实例。这个自定义实例可以配置默认的请求选项,如基本URL、拦截器等,从而简化请求的重复性设置
使用 axios.create() 创建自定义 Axios 实例
import axios from 'axios';
const customAxios = axios.create();
const customAxios = axios.create({
baseURL: 'https://api.example.com'
});
customAxios.interceptors.request.use(
config => {
return config;
},
error => {
return Promise.reject(error);
}
);
customAxios.interceptors.response.use(
response => {
return response;
},
error => {
return Promise.reject(error);
}
);
customAxios.get('/users')
.then(response => {
})
.catch(error => {
});
const data = {
username: 'example',
password: 'password123'
};
customAxios.post('/login', data)
.then(response => {
})
.catch(error => {
});
const config = {
params: {
page: 1,
limit: 10
}
};
customAxios.get('/posts', config)
.then(response => {
})
.catch(error => {
});
async function fetchUserData() {
try {
const response = await customAxios.get('/user/123');
} catch (error) {
}
}
自定义 Axios 实例允许你在项目中重复使用相同的配置,同时可以对请求和响应进行全局处理。拦截器使你能够在请求发出之前和响应被处理之前执行一些操作。