В службе Angular я создал субъект и возвращаю его как наблюдаемый следующим образом:
public entityPayLoad = new Subject<Entity>();
public getSubjectAsObservable() {
return this.entityPayLoad .asObservable();
}
Я вызываю следующий метод субъекта из двух разных компонентов:Из Comp 1:
this.Service.entityPayLoad.next(this.entity1);
Из Comp 2:
this.Service.entityPayLoad.next(this.entity2);
Я подписываюсь на тему следующим образом, который вызывается дважды для следующего вызова метода:
this.entitiesSub = this.Service.getSubjectAsObservable().subscribe((entity) => {
this.loadNewMainEntity(selectedMainEntity);
});
Первоначально он работает нормально, но после получения двух следующих вызовов методов, затем для каждого последующего следующего запроса, абонент вызывается дважды.
Я отписал то же самое в ngondestroy.Но так как я не покидаю компонент для последующего следующего вызова, отписаться не получат.