Angular воспроизводит http-вызовы при обновлении токенов - PullRequest
0 голосов
/ 19 января 2019

Я сталкиваюсь со странным поведением в Angular v6. Возможно, мне не хватает чего-то большого при передаче подписок.

Каждый раз, когда срок действия маркера обновления истекает (после некоторого простоя без использования приложения), приложение replays все предыдущие события http.

Вот что я делаю, чтобы воспроизвести проблему.

  1. Войдите в мое угловое приложение и совершите N http звонки (GET, POST and DELETE)
  2. Удалить firebase refresh auth token из firebaseLocalStorage indexedDB.

Шаг 2 запускает и воспроизводит все http-вызовы, которые я сделал на шаге 1.

Но он не должен воспроизводить все прошлые события http. В чем может быть причина?

Мой http-код перехватчика в https://gist.github.com/kumar-muthu/87c1404d3da48702739183e8d2c6e7d5

Примечание: я не отписываюсь от наблюдаемых http, поскольку полагаю, что angular httpclient закрывает подписку после получения ответа http.

1 Ответ

0 голосов
/ 19 января 2019

Проблема была в перехватчике. Вместо того, чтобы просто брать последний токен, я подписался на токен. Таким образом, каждый раз, когда токен меняет все предыдущие http-запросы, они снова воспроизводятся.

https://gist.github.com/kumar-muthu/87c1404d3da48702739183e8d2c6e7d5#file-so_angular_http_inteceptor-ts-L47

...