Axios: отложенные запросы - PullRequest
0 голосов
/ 17 марта 2019

У меня есть следующий axios перехватчик.

Проверяет действительность сохраненного токена.Если он недействителен, выдается запрос на получение и сохранение обновленного токена.

axios.interceptors.request.use(async config =>

    if(checkValidity(localStorage.getItem('token')) === false) {
        const response = await axios.get('http://foobar.com/auth/refresh');
        localStorage.setItem('token', response.headers['token']);
        config = getConfigFromResponse(response);
    }

    return config;
}); 

Он отлично работает.Проблема в том, что если у меня много запросов с недействительным токеном, то для его обновления выполняется много запросов к http://foobar.com/auth/refresh.

Можно ли поместить все запросы в массив и запустить их после того, как обновление выполнено?готово?

Идея состоит в том, чтобы избежать перехвата ошибок 401 и повторного воспроизведения запроса: вот почему я хочу «сохранить» запросы во время получения токена, а затем запустить их, когда токен будет готов.

...