配置默认值
你可以指定应用于每个请求的默认配置,以简化代码并提高效率。
全局 Axios 默认值
1// 设置基础 URL
2axios.defaults.baseURL = 'https://api.codebetter.cn';
3
4// 设置超时时间(单位:毫秒)
5axios.defaults.timeout = 3000;
通过全局配置,所有通过 Axios 发起的请求都将自动应用这些默认值。
自定义实例默认值
1// 创建实例时设置配置默认值
2const instance = axios.create({
3 baseURL: 'https://api.codebetter.cn'
4});
5
6// 创建实例后修改默认值
7instance.defaults.timeout = 5000;
自定义实例允许你为特定用途的请求定义独立的默认配置,而不影响全局配置。
配置优先顺序
Axios 的配置优先顺序如下:
- 请求的参数(
config
):直接在请求中指定的配置优先级最高。
- 实例的默认值(
instance.defaults
):在实例级别设置的默认值。
- 全局默认值(
axios.defaults
):全局范围内设置的默认值。
例如:
1// 创建实例
2const instance = axios.create();
3
4// 覆盖全局超时默认值
5instance.defaults.timeout = 2500; // 实例级别的超时时间
6
7// 覆盖单个请求的超时时间
8instance.get('/longRequest', {
9 timeout: 5000 // 请求级别的超时时间
10});