Axios: 创建多个实例时覆盖的标头

创建于 2017-07-20  ·  3评论  ·  资料来源: axios/axios

概括

我注意到,当使用自定义标头配置创建多个 axios 实例时,最新的实例将覆盖任何其他先前定义的配置。 这是重现它的最简单的代码片段

const axios = require('axios');
const baseURL = '';

const first = axios.create({ baseURL });
first.defaults.headers.common.authorization = 'foo';
const second = axios.create({ baseURL });
second.defaults.headers.common.authorization = 'bar';

console.log(first.defaults.headers.common);

结果是 :

Object
    Accept: "application/json, text/plain, */*"
    authorization: "bar"
    ...

我不确定这是正确的行为,因为实例应该是独立的。

语境

  • axios 版本:例如:v0.16.2
  • 环境:例如:node v6.9.2

最有用的评论

这是我们将很快解决的更大问题的一部分(并且比合理的时间晚)。 见#812。

所有3条评论

我希望我可以写first.headers.authorization = 'foo'并针对该实例进行更改

那么绕过这个限制的唯一方法似乎是强制标头值:

first.get('/posts', {
    headers: {
        authorization: 'foo',
    },
})

这是我们将很快解决的更大问题的一部分(并且比合理的时间晚)。 见#812。

此页面是否有帮助?
0 / 5 - 0 等级