使用axios.create后defaults还是被污染了
来源:9-7 扩展 axios.create 静态接口 - 需求分析+ 静态方法扩展+ demo 实现

Lynnnnnnnn
2020-03-03
axios.defaults.headers.common[‘test’] = 123
const instance = axios.create({ … })
…
如上代码,我在修改了单例axios的defaults默认配置后,用axios.create生成了一个新的axios实例instance,然后从请求头里看到,instance发起的接口请求头里包含了 test: 123。
这里我不太明白,如果create方法是为了创造一个新的实例的话,那默认配置应该是一个新实例对应一份原始的默认配置,但是这样看来似乎所有的axios实例都共用了一份默认配置defaults。我不知道是不是我需求理解错误了。
请老师指点迷津,谢谢。
写回答
1回答
-
因为你先修改了 defaults 这个对象,然后 axios.create 的时候会 merge 你这个修改过的 defaults 对象,所以会影响到你这个 instance
012020-03-04
相似问题