Выполнение нескольких вызовов HTTP после переключения между компонентами
У меня есть один запрос, который немного сложен для объяснения, но спрашиваю, нужны ли вам какие-либо дополнительные детали...
Угловая версия: 8. Тема: проблема, когда переключение компонентов происходит по кругу.
Как из Компонента А. -> B -> A -> B
Краткие детали моей проблемы
Из компонента "А" я выбрал пару сотрудников, затем нажмите кнопку "Применить фильтр", чтобы перейти к компоненту В.
У каждого сотрудника установлен флажок для отправки события с использованием службы, чтобы из компонента "B" я мог получить этих выбранных сотрудников и выполнить дальнейшую логику (например, вызов API).
Переключение с A на B работает, как и ожидалось, потому что, основываясь на выбранных сотрудниках, я нажимаю API, чтобы узнать их детали.
Но для сброса выбранных сотрудников я перенаправляю обратно на компонент A, чтобы добавить или удалить сотрудников...
Теперь проблема, с которой я столкнулся
Поскольку у меня есть логика в компоненте B, чтобы попасть в API и получить детали сотрудников.
Проблема в том, что после одного раунда назад от компонента 'B' при каждом выборе одно попадание идет в API, чтобы получить обновленные детали emp.
Я знаю, что это происходит из-за EvenEmitter, но каково лучшее из возможных решений для этого, чтобы при каждом событии emit он не выполнял вызов API из 'A' до тех пор, пока я не нахожусь в компоненте B.
1 ответ
Я исправил свою проблему... каждый раз, когда мы перенаправляем на другой маршрут, он автоматически вызывает ngOnDestroy, где вы можете отменить подписку на все подписанные вами сервисы.
Синтаксис для отмены подписки:
Объявить одно свойство
ServiceSubscriptions: Subscription;
ngOnDestroy() {
this.ServiceSubscriptions.unsubscribe();
debugger;
}
Не стесняйтесь спрашивать меня, есть ли у кого-нибудь вопрос.