【发布时间】:2018-06-04 06:21:57
【问题描述】:
我正在开发用户活动跟踪系统并尝试实现下一个目标:
- 在用户开始移动鼠标两秒后捕获一次
mousemove事件。 - 在用户完成鼠标移动两秒后捕捉片刻。
我有下一个流:
const activityStream$ = Rx.Observable.fromEvent(document, 'mousemove');
const enterActivityStream$ = activityStream$.throttleTime(1000).skip(2);
const finishActivityStream$ = activityStream$.debounceTime(2000);
它们分别按预期工作,我想将它们组合起来,因此它们将以重复的方式工作。
例如:
用户开始移动鼠标,两秒钟后观察者收到有关该事件的事件(或至少do 运算符),然后用户完成移动鼠标并且观察者也收到有关该事件的通知。如果用户再次开始移动鼠标,则重复此例程。
我在Example RxJS Observable when mouse or click activity Re-starts 发现了类似的问题,但解决方案似乎很复杂并且无法按预期工作。 (lastact$ 流会触发两次,而应该触发一次)。
请问,谁能告诉我如何实现这一目标?谢谢!
【问题讨论】: