我希望在我的订阅客户端中通知我的Firebase数据库中的值没有更改3秒钟。我正在使用RxJs&打字稿中的AngularFire。我一般都是Rx的新手,我尝试过Timeout,Delay和Throttle的不同组合。似乎AngularFire Observable没有继承完整的RX Observable接口,否则我想我应该使用interval。有人能指出我正确的方向吗?
答案 0 :(得分:3)
$timeout.verifyNoPendingTasks()
实例:
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)