Какое событие вызывается при получении - PullRequest
0 голосов
/ 14 мая 2019

Мне нужно добавить заголовок во все генерации XHR-запросов на пользовательском интерфейсе. На всей странице я использую api fetch. Мне нужен способ добавить заголовок непосредственно перед началом выборки, поэтому возникает вопрос, есть ли способ изменить запрос до того, как произойдет выборка?

Я знаю Fetch Event, но он работает только с работниками сферы обслуживания, а не на реальной HTML-странице.

1 Ответ

0 голосов
/ 14 мая 2019

Вам нужен перехватчик.Вы можете использовать:

https://github.com/werk85/fetch-intercept

А затем:

import fetchIntercept from 'fetch-intercept';

const unregister = fetchIntercept.register({
    request: function (url, config) {
        // Modify headers here
        return [url, config];
    },

    requestError: function (error) {
        // Called when an error occured during another 'request' interceptor call
        return Promise.reject(error);
    },

    response: function (response) {
        // Modify the reponse object
        return response;
    },

    responseError: function (error) {
        // Handle an fetch error
        return Promise.reject(error);
    }
});

// Call fetch to see your interceptors in action.
fetch('http://google.com');

// Unregister your interceptor
unregister();
...