我正在尝试拥有一个组件,以异步(并有条件地)对鼠标事件流做出反应。这是一个简单的场景:
您将鼠标悬停在a {@time: 0}
上,该组件会转到A {@time:4}
,但到那时,该用户已在b {@time:2}
然后c {@time:4}
上停留。因此,该组件需要将表单A
切换为C
。
MouseEventStream: a-b-c-------d-e-f-g--h--------|->
ComponentState: *---A---*---C---*---F---*---H-|->
* is the idle state
我尝试过类似下面的内容,但是我需要过滤器来缓冲一些事件......
var subject = new Rx.Subject();
.filter(function() {
return self.isIdle();
})
.map(function(item) {
return item;
})
.subscribe(function (){
// do something
});
非常感谢任何帮助。
答案 0 :(得分:0)
虽然我不确定这是怎么做的,但我可能找到了buffers
和pausableBuffered
的解决方案,操纵BehaviorSubject
: