【发布时间】:2016-04-27 13:38:58
【问题描述】:
我正在努力使用 Observables 创建倒数计时器,http://reactivex.io/documentation/operators/timer.html 的示例似乎不起作用。在此特定示例中,与 timerInterval 相关的错误不是从计时器返回的 Observable 的函数。
我也一直在尝试其他方法,我想出的最好的方法是:
Observable.interval(1000).take(10).subscribe(x => console.log(x));
这里的问题是它从 0 计数到 10,我想要一个倒数计时器,例如10,9,8...0.
我也试过这个,但 timer 不存在 Observable 类型
Observable.range(10, 0).timer(1000).subscribe(x => console.log(x));
以及,它根本不产生任何输出。
Observable.range(10, 0).debounceTime(1000).subscribe(x => console.log(x));
为了澄清我需要 ReactiveX 的 RxJS 实现的帮助,而不是 MircoSoft 版本。
【问题讨论】:
-
请记住,任何不断调用
timer(1000)的计时器都会随着时间的推移而漂移。短时间内可以,但如果您正在编程时钟,那就不行了!如果您需要准确性,则需要使用系统时钟来计算时间偏移量。
标签: rxjs observable reactive-programming