配置会以一个优先顺序进行合并。这个顺序是:在 lib/defaults.js 找到的库的默认值,然后是实例的 defaults 属性,最后是请求的 config 参数。后者将优先于前者。这里是一个例子:
// 使用由库提供的配置的默认值来创建实例 // 此时超时配置的默认值是 `0` var instance = axios.create(); // 覆写库的超时默认值 // 现在,在超时前,所有请求都会等待 2.5 秒 instance.defaults.timeout = 2500; // 为已知需要花费很长时间的请求覆写超时设置 instance.get('/longRequest', { timeout: 5000 });
备注:不同版本可能配置不同,0.27.2
版本中contentType
为application/json
,但是在0.18.1
版本中contentType
为application/json;charset=utf-8
,多出了charset=utf-8
,在抖音POI获取token的接口中,多出来的这部分就会导致请求报错。