и передаю ему токен доступа, который действует 5 минут(он записан в localStorage). Если токен истёк, то я получаю от сервера 401-ую ошибку. В таком случае мне нужно отправлять на сервер другой запрос с другим токеном для получения нового токена доступа. Но дело в том, что токен может истечь в любой момент и получается, что в каждом запросе мне нужно обрабатывать эту ошибку. Как вариант это в catch получать код ошибки и если он равен 401, то вызывать функцию которая будет "перевыпускать токен доступа", и ей в аргумент передавать саму функцию которая и отправляла запрос и заново её запустить с уже действующим токеном доступа.
Таким образом я сокращу catch(для данной ошибки) всего в 1-2 строки(проверка кода ошибки и запуск функции), но это всё-равно повторение в каждом запросе и как-то не камильфо.
Подскажите, как это реализуется толком или это нормальное решение?
axios interceptors отлично для этого подходят
Сейчас гляну, спасибо.
+, интерсептор как раз самое то будет
именно для отложенного выполнения я и откладываю все такие зафейленные запросы
Подскажи, может у тебя где-то есть пример чтобы я мог глянуть?
https://www.npmjs.com/package/axios-auth-refresh Все уже написано до нас)) А я сам реализовывал
Обсуждают сегодня