当 debounceTime 从 Observable 过去时收到通知

Be notified when debounceTime has elapsed from an Observable

假设我收到了一个关于如下主题的 Observable:

private subject: Subject<any> = new Subject<any>();
public observer: Observable<any>;
constructor() {
    this.observer = this.subject.debounceTime(300).switchMap(// do something);
}

然后在我的代码中我有

otherComponent.observer.subscribe(// obtain new value);

我知道订阅这个观察者,一旦它的主题值改变(即 "do something returns" 之后),我将获得新值。我想知道我是否可以通过这个观察者知道 debounceTime 300ms 有 ended/the 开始更改值的过程已启动(即在 "do something starts" 之前)。

如果不是,您如何实现相同的效果(例如,通过在 switchMap() 中 "do something" 之前将另一个 Subject 更改为 Observable)?

您可以添加副作用:

this.subject.debounceTime(300)
  .do(value => /* Do something */)
  .switchMap(// do something);

或者在较新版本的 rxjs 中使用可出租运算符时,do 已重命名为 tap