我如何 - 长轮询和调度程序?
How do I - Long polling and Schedulers?
我正在尝试安排一个长轮询机制。我想知道我是否可以为此利用调度程序。
这是我目前的想法。
通过计时器安排,但只有在上一次迭代已经完成时才将下一次迭代加入队列。
在上一次迭代完成时将下一次迭代排队。
我一直在查看现有的调度程序,但我不太确定该选择哪个以及要重载什么。
最后但并非最不重要的一点 - 因为我是 Rx 世界的新手 - 使用 Scheduler 相对于 "roll your own" 方法有什么优势。
像这样:
Observable.interval(500)
.exhaustMap(() => this.load()) //previously flatMapFirst, creates new observable only if previous has ended
.map(r => resource.json)
.distinctUntilChanged() //optional tracking changes
.startWith(0);
我正在尝试安排一个长轮询机制。我想知道我是否可以为此利用调度程序。
这是我目前的想法。
通过计时器安排,但只有在上一次迭代已经完成时才将下一次迭代加入队列。
在上一次迭代完成时将下一次迭代排队。
我一直在查看现有的调度程序,但我不太确定该选择哪个以及要重载什么。
最后但并非最不重要的一点 - 因为我是 Rx 世界的新手 - 使用 Scheduler 相对于 "roll your own" 方法有什么优势。
像这样:
Observable.interval(500)
.exhaustMap(() => this.load()) //previously flatMapFirst, creates new observable only if previous has ended
.map(r => resource.json)
.distinctUntilChanged() //optional tracking changes
.startWith(0);