Предметная подписка в угловом режиме вызывается дважды за один следующий вызов метода - PullRequest
0 голосов
/ 03 октября 2018

В службе 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.Но так как я не покидаю компонент для последующего следующего вызова, отписаться не получат.

...