流有条件地对热可观察做出反应
Streams reacting conditionally to hot Observable?
我正在尝试拥有一个组件,以异步(和有条件地)对鼠标事件流做出反应。下面是一个简单的方案:
您将鼠标悬停在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
});
任何帮助将不胜感激。
虽然我不确定这是需要完成的方式,但我可能已经找到了buffers
和pausableBuffered
的解决方案,操纵BehaviorSubject
:
http://jsbin.com/tedolerapo/7/edit?js,output
相关文章:
- 通过js在新选项卡中有条件地打开url
- jQuery-有条件地附加HTML
- 有条件更新d3.js力图中节点的最佳方法
- Woocommerce产品选项有条件
- 有条件地在选项标记中应用布尔属性
- ADF:有条件地加载javascript资源
- 如何有条件地更改角度中的orderBy参数
- 无法在有条件呈现的富:面板上提交h:form
- 有条件地与react路由器链接
- 有条件地运行javascript函数-Razor,HTML
- 如何使用图表包装函数有条件地格式化谷歌可视化表单元格
- CSS根据属性的可用性有条件地应用样式
- 将字段设置为有条件地使用所需的字段验证器
- 将https替换为有条件的锚标记Javascript
- JavaScript while循环没有'不能在有条件的情况下工作
- 如何用d3有条件地移除元素
- 有条件刷新页面-如何设置引用人
- 有条件地创建ajax url参数以与jQuery Validate一起使用
- 在 React JSX 中有条件地呈现组件部分
- 流有条件地对热可观察做出反应