AngularFire Observable 在停止更改时触发

AngularFire Observable to trigger when stopped changing

当我的 Firebase 数据库中的值在 3 秒内没有更改时,我希望在我的订阅客户端中收到通知。我在 Typescript 中使用 RxJs 和 AngularFire。一般来说,我是 Rx 的新手,我尝试过超时、延迟和节流的不同组合。看来 AngularFire Observable 没有继承完整的 RX Observable 接口,否则我想我应该使用间隔。谁能指出我正确的方向?

Rx.Observable.merge(
  angularFireStream$,
  angularFireStream$
    .switchMapTo(
      Rx.Observable.of("no change in last 3s").delay(3000)
    )
)

实例:

let angularFireStream$ = new Rx.Subject();
    
Rx.Observable.merge(
  angularFireStream$,
  angularFireStream$
  .switchMapTo(
    Rx.Observable.of("no change in last 3s").delay(3000)
  )
)
.subscribe(console.log);


angularFireStream$.next(1);
setTimeout(() => angularFireStream$.next(2), 2000)
setTimeout(() => angularFireStream$.next(3), 3000)
<script src="https://unpkg.com/rxjs/bundles/Rx.min.js"></script>