我设置了一个主题,然后在其上放了一些方法。它似乎按预期工作,直到它到达.switch(),我认为它只是跟踪最后一次调用。我收到错误Property 'subscribe' does not exist on type 'ApiChange'
它似乎将它从一个observable转换为ApiChange类型。我不明白这种行为。我应该使用不同的运营商吗?
服务
private apiChange = new Subject<ApiChange>();
apiChange$ = this.apiChange.asObservable().distinctUntilChanged().debounceTime(1000).switch();
组件:
this.service.apiChange$.subscribe(change => {
this.service.method(change);
});
答案 0 :(得分:3)
.debounceTime(1000)已经确保您每秒只会从您的可观察链中获得最多一个值。 1秒安静时间之前的所有值都将被丢弃。
使用简单的主题(不是 ReplaySubject ),无论如何都不会向订阅者提供过去的值。
您可能只想跳过 .switch()并享受没有它的链条。