Angular 为什么删除此主题会导致我的服务延迟3-4秒?

Angular 为什么删除此主题会导致我的服务延迟3-4秒?,angular,asynchronous,rxjs,observable,Angular,Asynchronous,Rxjs,Observable,我早些时候创建了一个行为主题,在订阅它时,我打了一个服务电话。但是,由于行为主体的性质,对行为主体的初始化存在不必要的限制。因此,在进一步阅读后,我改变了行为,使其服从于ReplaySubject1 现在,在我定义服务的主@Injectable类中,有另一个独立的服务,一旦我做了上述更改,它就会被延迟。我如何确定问题的原因 组件技术 constructor(private _subjectService: SubjectService, private _s1: Service1){ t

我早些时候创建了一个行为主题,在订阅它时,我打了一个服务电话。但是,由于行为主体的性质,对行为主体的初始化存在不必要的限制。因此,在进一步阅读后,我改变了行为,使其服从于ReplaySubject1

现在,在我定义服务的主@Injectable类中,有另一个独立的服务,一旦我做了上述更改,它就会被延迟。我如何确定问题的原因

组件技术

constructor(private _subjectService: SubjectService, private _s1: Service1){
    this._s1.Call1();
    this.testFunction();
}

testFunction(){
this._subjectService.GetData().subscribe(res => {
      if (res !== null) {
         this._s1.Call2();  
     }
   }
}   
主题服务

  // filterSubject = new BehaviorSubject(<KendoRequestVM>{});
  // filterDataSubject = new BehaviorSubject(<KendoRequestVM>{});

   filterSubject = new ReplaySubject<KendoRequestVM>(1);
   filterDataSubject = new ReplaySubject<KendoRequestVM>(1);

在这里,当我使用BehaviousSubject而不是ReplaySubject时,会调用Call1。

行为主题始终会立即同步返回。重播主题只有在有值时才会立即/同步返回。仅凭您共享的代码无法判断,因为您没有共享填充主题的部分(例如调用next),但这似乎是最可能的解释