Может быть любая из следующих причин:
- Это происходит, когда вы подписываетесь на BehaviorSubject в блоке кода, который выполняется несколько раз. Пример, если вы подписываетесь в хуке жизненного цикла ngAfterViewChecked углового компонента, который выполняется несколько раз.
- Вы никогда не отписывались, но каждый раз, когда приложение загружает компонент, подписывайтесь на тему своего поведения.
- Подписчик BehaviorSubject всегда выполняется по крайней мере один раз, потому что BehaviorSubject требует аргумента по умолчанию при создании и выдает переданный аргумент по умолчанию по крайней мере один раз, если вы вызываете метод .next () только один раз в экземпляре BehaviorSubject, Subscriber будет выполняться дважды , Первый раз для значения по умолчанию, переданного при создании экземпляра BehaviorSubject, второй раз для значения, которое вы передали, вызвав метод .next на экземпляре BehaviorSubject.
Я ответил на ваш вопрос?
Если нет, предоставьте фрагмент кода, чтобы мы могли лучше понять проблему.
ответ дан Navneet Prakash 19 March 2019 в 08:58
поделиться