问题标签 [rxjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何创建可以在单项和批处理模式之间切换的 Rx (RxJS) 流?
我有一个 Rx 流,它是来自特定组件的传出更改源。
有时我希望能够在流上进入批处理模式,以便传递给onNext的项目累积并仅在退出批处理模式时传递。
通常我会通过流传递单个项目:
在传递给onNext的项目和在subscribe中接收的项目之间存在一对一的映射,因此前面的代码片段导致两次调用subscribe的值分别为 1 和 2。
我正在寻找的批处理模式可能会像这样工作:
在这种情况下,我希望仅使用单个串联数组 [1, 2] 调用一次订阅。
重申一下,我有时只需要批处理模式,有时我会传递未连接的项目。
如何使用 Rx 实现这种行为?
注意:以前我通过onNext传递数组,尽管这主要是为了使在单独模式和批处理模式下类型保持不变。
例如:
订阅接收 [1, 2, 3] 然后 [4, 5, 6],但是在批处理模式下订阅接收连接结果 [1, 2, 3, 4, 5, 6]。
因此,当您以这种方式看待它时,它更像是unconcatenated和concatenated模式(而不是individual和batch-mode)。但我认为问题非常相似。
javascript - 在 RxJs 中使用 TestScheduler 测试主题
我正在使用 RxJs 来计算在特定时间窗口内到达的数据包数量。我的代码基本上是这样的:
如何使用 Rx TestScheduler 对该代码进行单元测试?我找不到任何适合测试主题的示例。
rxjs - RxJS 排队依赖任务
如果我有这样的数组数组
我想循环遍历每个父级并依次循环遍历他们的子级,这样在所有子级都被处理之前我不会启动下一个父级(一些很长的异步过程),我该如何用 RxJS 做到这一点?
我试过这个:
但是我让所有的父母都退出,然后是所有的孩子。
javascript - 如何设置 Rx.Observable.fromEvent 以处理 jQuery 过滤事件
有很多Rx.Observable.fromEvent(element, eventName)
使用 jquery 选择作为元素来捕获事件的示例。然而,Rx 是否可以只监听来自 jQuery 过滤事件设置的事件?
我想出了一些实际上类似的东西,但它似乎比 jquery 过滤器更昂贵。
有什么方法可以将 jQuery 绑定转换为发射器并将该事件流与 Rx 一起使用?最好的方法是什么?
javascript - 如何获取使用 .fromEvent 创建的 Observable 的事件名称
我试图限制来自公共消息总线的事件应该发送到服务器。允许的事件在outgoingEvents
阵列上。问题是要正确地向他们发送我需要事件名称的服务器。
javascript - Bacon.js 总线的 RxJS 等价物是什么?
如何创建一个可以直接将事件推送到的 Observable,例如 Bacon.js 的 Bus?
javascript - 使用 RxJs 将分页请求转换为 Observable 流
我有一项以页面形式返回数据的服务。对一页的响应包含有关如何查询下一页的详细信息。
我的方法是返回响应数据,然后如果有更多可用页面,则立即将延迟调用连接到相同的可观察序列。
这一定是错误的方法,因为在 2 秒内你会得到:
什么是正确的分页方法?
javascript - jQuery 事件停止与 RxJS 一起工作
所以,基本上,我的问题是在我的程序开始时,jQuery.css()
工作得很好,测试如下:
在那之后,当我尝试添加一个 div 时——它确实会在需要时添加——.css()
停止为该元素工作。像这样:
这只是附加 a <div class="circle"></div>
,没有样式,以后不能是.remove()
'd-
小提琴:http: //jsfiddle.net/bh79fe87/
完整的代码如下所示(LiveScript):
还有HTML:
javascript - 让 combineLatest “忘记”它在 RxJS 中的最后一次调用
我正在使用 combineLatest 来组合两个流 A 和 B。
如果流 A 产生一个值,它将它与 B 的最后一个值结合起来,并在结果流上产生一个值。
但是我希望它在每次调用后忘记 B 的最后一个值,以便下次选择 A 时需要为结果流生成一个新的 B 以生成一个新值。
我希望这是对称的,所以反过来也是如此。
例子:
我找到了这个答案: 如何使用 RX 限制事件流?
但是它是用 C# 编写的,而我需要 RxJS 的答案。