Axios: ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ создании Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… экзСмпляров

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 20 июл. 2017  Β·  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
  • Π‘Ρ€Π΅Π΄Π°: Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΡƒΠ·Π΅Π» v6.9.2

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π­Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ собираСмся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π² блиТайшСС врСмя (ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Π΅ΠΌ это Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ). Π‘ΠΌ. β„– 812.

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ first.headers.authorization = 'foo' ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ для этого экзСмпляра

Ну, СдинствСнный способ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, каТСтся, ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°:

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

Π­Ρ‚ΠΎ Ρ‡Π°ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ собираСмся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π² блиТайшСС врСмя (ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Π΅ΠΌ это Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ). Π‘ΠΌ. β„– 812.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ