【问题标题】:AngularFire Observable to trigger when stopped changingAngularFire Observable 在停止更改时触发
【发布时间】:2017-01-28 18:23:21
【问题描述】:

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

【问题讨论】:

    标签: rxjs angularfire


    【解决方案1】:
    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>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      • 1970-01-01
      • 1970-01-01
      • 2020-09-04
      • 2014-10-10
      • 2019-11-12
      • 1970-01-01
      相关资源
      最近更新 更多