Выполнение нескольких вызовов 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;
}

Не стесняйтесь спрашивать меня, есть ли у кого-нибудь вопрос.