запроса снова отправить этот же запрос?
Да
Неправильно поставил вопрос) хотел узнать как можно это сделать
const axiosInstanceWithAuthCheck = axios.create({ headers: DEFAULT_HEADERS, baseURL: DEFAULT_BASE_URL, withCredentials: false, }); axiosInstanceWithAuthCheck.interceptors.request.use((config) => { const accessToken = localStorage.getItem(LS_KEY_ACCESS_TOKEN) ?? ''; config.headers['Authorization'] = `Bearer ${accessToken}`; return config; }); axiosInstanceWithAuthCheck.interceptors.response.use( async (response) => { return response; }, async (error) => { const originalConfig = { ...error.config }; if (error.response) { if (error.response.status === 401 && !originalConfig._retry) { originalConfig._retry = true; try { await sessionApi.authJwtRefresh(); return axiosInstanceWithAuthCheck(originalConfig); } catch (e) { return Promise.reject(e); } } } return Promise.reject(error); }, );
Например, у промиса редактор есть. Можно в нём кинуть запрос.
а откуда тут retry свойство у конфига?
https://github.com/axios/axios/issues/266
понятно, спасибо. я еще добавил проверку на то, пришла ли ошибка 401 именно из-за проблем с аксесс токеном, а не с чем-либо другим, иначе могли идти бесконечные запросы к серверу
Обсуждают сегодня