问题标签 [reactive-extensions-js]

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.

0 投票
1 回答
4315 浏览

javascript - Javascript 代码示例的反应式扩展

微软已经发布了Reactive Extensions for Javascript。它应该使异步(和基于事件的)web-ui 编程变得容易。

目前有一个视频一些教程。但是我真的能做出多酷的用户界面呢?您知道使用 rx.js 的任何好的演示或代码示例吗?

0 投票
2 回答
3129 浏览

javascript - 在 Rx JS 中触发自定义事件

我正在尝试理解Reactive JS。在 JQuery 中,我可以触发自定义事件

并传递数据(即“测试”)。目前尚不清楚如何在 RxJS 中执行此操作。我可以尝试将 jquery 事件转换为

但 observable 返回事件对象而不是我的数据对象。如何使用 RxJS 触发带有数据的自定义事件?我是否总是需要搭载其他一些事件类型?我的目标是使用 RxJS 创建一个简单的事件总线。

0 投票
3 回答
1933 浏览

jquery - 多次ajax调用成功后触发事件

我想知道在几个(无序)ajax 调用完成后触发事件的最佳方法是什么。

为了更清楚一点,我想调用一个触发几个 ajax 调用的方法 doSomethingGreat(),这些调用成功的顺序是不必要的。当所有这些调用都成功时,我只想触发一个事件“SomethingGreatFinished”。我也不想链接这些调用,因为那样会缺乏性能并且完全违背异步编程的想法。

我想知道 a.) 是否有一个共同的模式,b.) 这可以通过 JavaScript 的响应式扩展 (RxJs) 或 c.) 与本机 jquery 功能来完成。

任何帮助表示赞赏!

0 投票
1 回答
717 浏览

javascript - 缓冲/忽略事件直到不活动期间,然后仅触发最后一个事件

我有一个可观察的,当它触发时会显示一条消息。延迟后,我想淡出该消息,除非同时该 observable 再次触发。

换句话说,给定一个 observable,我想创建另一个 observable,这样当最后一个事件触发时,第一个 observable 超过指定时间之前,创建的 observable 触发最后一个事件。

0 投票
2 回答
996 浏览

reactive-extensions-js - 如何使用 Rx.js(javascript 的响应式扩展)检测 konami 代码?

我想开始学习Rx.js,我正在寻找一个很酷的例子来开始学习。如何使用 Rx.js 检测konami 代码

我想检测一系列按键事件(上下左右 BA)并在发生这种情况时显示图像。

0 投票
1 回答
199 浏览

javascript - 在 Javascript 中的 Reactive Framework 订阅中使用实例变量/方法

我在 JS 中有一个对象,我试图在其中测试反应式框架 在事件订阅中,我想调用定义订阅的封闭类的实例方法,如下所示;

我该怎么做(因为“this”范围是订阅的范围)?在以某种方式设置订阅时,我是否必须通过函数/变量?

如果我尝试这样做,我会在所有浏览器中收到错误消息,指出实例变量或方法不存在:在我要调用实例成员的函数范围内的“this”指的是观察者,所以有OnNext、OnCompleted 等函数

非常感谢,

保罗

0 投票
1 回答
172 浏览

system.reactive - 区分可能的流,寻找干净的解决方案

我正在尝试在某些 GUI 场景中使用 RxJS。我遇到了一个有趣的案例。我有一个可以查看、编辑和创建实体的小部件。

当您单击“AddNewEntity”按钮时。编辑小部件创建一个空实体,加载它并更改为编辑模式。但是,如果您已经处于编辑模式,它会询问您是否想先恢复更改,一旦您单击“是”,就会发生与前面所述相同的情况。

所以我认为 Rx 可能会帮助我。这是代码。

基本上我正在合并两个流。按钮的一个点击流,该按钮由状态为“NotInEditMode”的小部件的状态过滤。另一个被过滤到相反状态的按钮的点击流被投射到对话框的返回值流中。请注意,对话框的返回值是 bool 的 AsyncSubject,它表示给定的答案。

现在是棘手的部分!它不能这样工作!为什么?因为当状态为“NotInEditMode”时,第一个流匹配,它将小部件设置为编辑模式,现在第二个流(由于合并内部的顺序而随后运行)也将匹配,这基本上导致完全不一致的状态(解锁编辑模式加上打开对话框)。

我找到了两种解决方法。第一个,更改合并中的顺序,使其看起来像这样:

但是,我不喜欢这个解决方案。这对读者来说并不明显。

幸运的是,我找到了另一个解决方案:

背后的想法是只有一条路可以走,所以第一个匹配场景应该中止所有其他场景。

但是,我想知道是否有更清洁的解决方案,或者我是否正在尝试将 Rx 用于它不是为它设计的东西;-)

0 投票
1 回答
6979 浏览

system.reactive - SignalR 与反应式扩展

SignalR 和 Reactive Extensions 一样吗?你能解释为什么或为什么不?

0 投票
1 回答
813 浏览

javascript - 多个异步公共 API 调用(rails+node.js 或响应式 js)

我正在尝试对 3 个公共 API 进行非阻塞调用,即网站 A、B、C,然后将结果作为 JSON 数据转发回 Rails 应用程序。我在另一个论坛的 node.js 中询问这是否可能,似乎是这样,有人向我指出了这个涉及使用 node.js Step 模块和异步库的解决方案:

最近我在这里也发现了类似的问题。答案建议使用我从未听说过的 js 扩展中可用的 forkjoin 运算符;'反应式 js'。

因此,据我所知,有两种方法可以做到这一点;第一种通过node.js,第二种方法是通过使用“反应式”从客户端进行简单的多个异步ajax调用。

我想知道一种方法是否比另一种方法更好/更快?谢谢。任何意见/答案/建议将不胜感激。

0 投票
1 回答
199 浏览

reactive-extensions-js - 如何使用 JS 的 Rx 扩展来缓冲事件

我不想从输入中获取文本更改事件,但将它们限制为每秒 3 个。

Rx支持我的愿望?我怎样才能获得这种能力?