Angular — запретить выполнение других запросов, если один возвращает 401 (отменить остальные)

#angular

#angular

Вопрос:

Предыстория: у меня есть сайт Angular с аутентификацией JWT и простой защитой, защищающей маршруты, которые работают должным образом.

Допустим, срок действия токена истек, и Route A запускает три запроса на ngOnInit() крючке жизненного цикла. У меня есть перехватчик ошибок, который перехватит код 401 Unauthorized состояния и перенаправит на вход в систему.

Проблема: при перенаправлении на login два других запроса из трех также завершатся неудачей 401 Unauthorized .

Что я пробовал: используя RxJS, я использую takeUntil() функцию, привязанную к наблюдаемому, для прослушивания отмены. Я настроил его на отмену всех запросов, как только первый запрос завершится неудачей, но я нахожу, что это место слишком преждевременно, поскольку запросы все еще проходят.

  • Любые предложения или рекомендации будут с благодарностью?
  • Должен ли я заботиться о сбойных запросах, поскольку сайт функционирует по назначению, а просто регистрирует кучу сбойных запросов на консоль?

Спасибо!

Комментарии:

1. На вашем месте мне было бы все равно. Это ни на что не влияет на стороне клиента, и реализация логики отмены может просто привести к появлению новых ошибок в вашем приложении.

2. @Andrey Спасибо за ответ, рад услышать второе мнение!