配置默认值

你可以指定应用于每个请求的默认配置,以简化代码并提高效率。

全局 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 的配置优先顺序如下:

  1. 请求的参数( config ):直接在请求中指定的配置优先级最高。
  2. 实例的默认值( instance.defaults ):在实例级别设置的默认值。
  3. 全局默认值( axios.defaults ):全局范围内设置的默认值。

例如:

1// 创建实例
2const instance = axios.create();
3
4// 覆盖全局超时默认值
5instance.defaults.timeout = 2500; // 实例级别的超时时间
6
7// 覆盖单个请求的超时时间
8instance.get('/longRequest', {
9  timeout: 5000 // 请求级别的超时时间
10});