问题标签 [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 回答
656 浏览

reactive-programming - 将可观察序列转换为仅从最近的可观察序列产生值的可观察序列

示例 1:

obsContext是一个 observable,它将从obsText1或返回数据obsText2,具体取决于 的值obsNumber

示例 2:

obsSelect是一个可观察对象,它将从arrOfObservables由 . 生成的值确定的数组中返回所选可观察对象的数据obsNumber

我无法弄清楚如何使用 RxJS 来指定这种行为。在我看来,我需要能够在多个可观察对象之间动态订阅/取消订阅。

如何使用 RxJS 使这两个示例工作?

0 投票
1 回答
1920 浏览

reactive-programming - 捕获可观察对象之间的循环依赖

我有一个用户编程场景,用户最终可以创建两个相互依赖的 observables。RxJS 不允许循环依赖,据我所知,内存或堆栈达到了它的限制,并且onError使用 value 触发回调true

如何显式检测循环依赖并抛出更具描述性的错误消息?

这段代码说明了如何在 RxJS 中创建循环依赖:

错误信息很简单true

0 投票
2 回答
719 浏览

system.reactive - 反应式扩展:如何创建可观察的占位符?

我有一个方法,getObs()它返回一个 observable,它应该由所有调用者共享。但是,当有人调用时,该 observable 可能不存在getObs(),并且创建它是一个异步操作,所以我的想法是返回一个占位符 observable,一旦创建,它就会被真正的 observable 替换。

我的基本尝试是这样的:

placeholder如果调用 'getObs()' 时真正的 observable 不存在,我可以返回。当创建真正的 observable 时,我使用createSubject.onNext(realObservable),然后将其传递给switchLatest()为任何订阅者解包它。

但是,为此目的使用 Subject 和 switchLatest 似乎有点矫枉过正,所以我想知道是否有更直接的解决方案?

0 投票
1 回答
270 浏览

system.reactive - 在 RX.js 中加入两个可观察对象

我正在尝试基于另外两个创建新的 observable。我有:

我想创建 objectClicked observable,它应该在用户单击对象时产生值。我可以再次调用 findObject ,如下所示:

但这是非常耗时的功能。

我目前使用的另一种方法是将最后一个悬停的对象存储在一个变量中,但我认为应该有纯函数式的方法来做到这一点。我尝试像这样使用 Observable.join:

但它一键生成多个值

0 投票
4 回答
20932 浏览

rxjs - 使用来自另一个可观察对象的值过滤可观察对象

我有两个可观察的:

  1. 表示复选框输入列表的可观察对象。
  2. 一个表示来自服务器的事件流的可观察对象。

我想使用第一个值过滤第二个 observable。

从服务器接收到的值包含一个tag属性,该属性对应于复选框列表中的值。由上述两者组合产生的 observable 只会产生来自服务器的值,该服务器的tag属性包含在选中的复选框中。

0 投票
1 回答
2125 浏览

jquery - 有人在使用 rx.jquery 吗?

尝试使用 RxJS,特别是使用 rx.jquery 让我的脚湿透。我在这里找到了一个小教程,并尝试按如下方式进行设置。它应该接受您输入的内容并提供从 Wikipedia 中提取的建议。对 Wikipedia 的调用成功(我在 Chrome 的网络调试窗口中看到),但应用程序给了我一个错误:

未捕获的类型错误:对象 #<Object> 没有方法“订阅”

我已经尝试了几个版本的 jQuery(1.8.3、1.10.2、2.0.3),这没什么区别。Bootstrap 似乎也不是问题。我在这里几乎没有看到 rx.jquery 的提及(并且没有标签),所以我不知道它是否可能还没有为黄金时段做好准备或什么。我已经提取了最新的 rx.* 库,因为较旧的库给了我不同的错误。

当然,我不能排除我只是搞砸了一些东西。但它并没有向我跳出来。

0 投票
1 回答
1325 浏览

javascript - GHCJS:如何使用 FFI 导入高阶 javascript 函数?

如何在 GHCJS 中导入如下 Javascript 函数?

我尝试了以下各种组合但没有成功:

感谢您提供任何帮助,并提供 GHCJS FFI 文档的链接。

谢谢

0 投票
2 回答
2442 浏览

c# - 如何根据另一个值过滤 Observable?

我试图找到某种基于另一个可观察值的值过滤可观察值的方法。例如,假设我们只想接收时间 x 和 y 之间的事件。可以根据计时器的值过滤可观察对象吗?

0 投票
1 回答
5243 浏览

javascript - RxJS 中的同步性

我希望以下代码会异步运行:

但事实并非如此。通过大范围的数字需要一段时间,只有在完成后才能恢复执行,您可以在这里尝试代码。

我对何时期望 RxJS 同步或异步运行感到困惑。这取决于使用的方法吗?我之前的想法是,一旦我们进入 Observables/Observer 领域,其中的一切都是异步运行的,类似于 Promise 的工作方式。

0 投票
2 回答
469 浏览

javascript - 在 rx 中创建资源的副作用(反应式扩展)

rx 指南说尽可能避免副作用,如果它们不可避免,则将它们放在 do()(js 中的 doAction)子句中。

然而,在 UI 中一个非常常见的副作用是创建一些资源(比如 <div>)被下游引用(由子小部件)。您必须捕获这些资源的句柄,以便传递它们。例如,如果您有一个数据数组,每个数据都需要一个 div,您将为每个数据创建一个 div,并将这些 div 的句柄传递给子项。

但是 doAction() 会丢弃副作用的返回值,因此您无法捕获已创建对象的句柄。您必须在 select() 中执行副作用。

我看这一切都错了吗?创建的资源是状态,并且具有副作用。你想要流中的状态,但是你不能把它放在流中而不把副作用放在 select() 中,这是禁忌的。