问题标签 [reactive-programming]

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 回答
378 浏览

haskell - reactive-banana:触发包含行为最新值的事件

假设我有一个事件触发器,我想在触发时做两件事。首先,我希望它更新一些行为的价值。其次,如果满足其他条件,我希望它使用更新的行为值触发另一个事件send_off。以代码形式表示,假设我有

那么问题来了:我在里面放什么??????以便send_off发送最新的behavior值,我的意思是该值包括刚刚应用于它的触发器的更新。

不幸的是,如果我理解正确,行为的语义是这样的,更新的值不会立即提供给我,所以我在这里唯一的选择本质上是复制工作并重新计算更新的行为值,以便我可以立即使用它在另一种情况下,即填写?????? 有类似的东西

现在,在某种意义上,我可以通过使用 Discrete 而不是 Behavior 立即使行为中的更新信息对我可用,但这实际上等同于给我一个与我的原始事件同时触发的事件使用更新的值,除非我错过了一些东西,否则反应香蕉不会让我只有在其他两个事件同时触发时才能触发事件;也就是说,它提供事件的并集,但不提供交集。

所以我有两个问题。首先,我对这种情况的理解是否正确,特别是我是否正确得出结论,我的上述解决方案是解决它的唯一方法?其次,纯粹出于好奇,开发者有没有关于如何处理事件交叉点的想法或计划?

0 投票
1 回答
844 浏览

haskell - 反应香蕉:如何创建一个 AddHandler?

我目前正在尝试通过 Heinrich Apfelmus 的reactive-banana来了解 FRP ,与我看过的其他库相比,它似乎是一个文档齐全且简单的库。

但是,我无法理解 AddHandler类型。假设我想使用GLFW来获得鼠标按钮点击,这样我就有了类似eMouseButton :: Event (). 查看示例,似乎我不得不以某种方式使用fromAddHandler,但我不知道如何组合该AddHandler论点。我想我必须以newAddHandler某种方式使用,但是如何?

我想一个如何连接reactive-banana到其他东西的例子wx会很有帮助。

0 投票
2 回答
1553 浏览

.net - 使用 RX Throttle 时出现跨线程异常

我正进入(状态

无效的跨线程访问。

使用 RX 油门时

这是我的代码:

但是,如果我省略油门,一切正常。

据我了解 Throttle 使用线程池,因此 OnNext 不会发生在 UI 线程上。但是 SubscribeOnDispatcher 应该将其编组回 UI 线程。不应该吗?

0 投票
1 回答
263 浏览

windows-phone-7 - 油门操作导致 windows phone 7 性能下降

我正在构建一个大量使用 RX 的 WP7 应用程序,但遇到了一个问题。添加大于 20 ms 的 Throttle 时,会显着降低性能。

下面的代码片段指出了这个问题:

这是代码段的输出:

所以据我了解,Throttle 将从线程池创建一个线程并且不会阻塞 UI,它应该非常有效,不是吗?

问题 那么为什么性能这么慢。我是 RX 的新手,所以我可能在这里遗漏了一些东西。

编辑

这是另一个重现相同问题的示例:

据我了解,这应该每 100 毫秒打印一个数字,但它不会打印任何数字。

0 投票
2 回答
2826 浏览

system.reactive - 在 RX 中如何组合两个不同类型的源

设置:

  • 首先IObservable产生类型A 的值
  • 第二个IObservable产生类型B的值
  • 它们以不同的速度产生价值(非常快,最多每 10 毫秒)

我想要达到的目标:

N次(N 相当慢,大约 500 毫秒)必须对服务进行调用,并提供来自FirstSecond IObservable的最新值。

问题: 我想知道如何使用 RX。

当前解决方案(不工作)

0 投票
1 回答
216 浏览

c# - 从非阻塞块调用阻塞代码时的控制流程?

我有以下代码

哪个打印

谁能帮我了解程序中的控制流程。我确实尝试阅读调用堆栈等。但无法理解所有内容。

编辑 为什么我得到上面的输出(我认为是正确的)而不是

0 投票
1 回答
99 浏览

system.reactive - 将 XML URL 转换为 IObservable

我在 URL “http://test.com/data.xml” 有一个 XML 文档,我目前每秒轮询一次

我想将 XML 源的这种池化为 IObservable<XDocument>

0 投票
1 回答
240 浏览

system.reactive - 仅在使用 Rx + WebRequest + XDocument.Load 修改时检索 XDocument

我有以下两个可观察的

System.Net.WebRequest req = System.Net.HttpWebRequest.Create("http://test.com/data.xml"); req.Method = "HEAD";

var ob = Observable.FromAsyncPattern(req.BeginGetResponse, req.EndGetResponse);

ob().Select(x => x).Select(x => x.Headers["Last-Modified"]).DistinctUntilChanged(x => x);

Observable .Interval(TimeSpan.FromSeconds(1.0)) .Select(_ => XDocument.Load("http://test.com/data.xml"));

我希望 XDocument observable 仅在“last-modified”标头大于先前请求的文档时才执行任何想法?

0 投票
1 回答
833 浏览

c# - 使用 Reactive Extensions (Rx) 但在 Windows phone 应用程序中找不到 System.Observable.DLL 文件?

好。我使用的是 Reactive Extensions (Rx) 包异步请求,在您开始编写代码之前,您需要包含在 Windows Phone 中进行响应式编程所需的两个 dll。

它是:

使用 Microsoft.Phone.Reactive 使用 System.Observable

但是我在.Net Framework 4 中找不到 System.Observable.DLL 文件?有人有什么建议吗?

0 投票
6 回答
6116 浏览

haskell - Recommended reading/tutorials to understand reactive-banana FRP library

I'm interested in FRP (Functional Reactive Programming) reactive-banana haskell library. What would you recommend reading for a newbie to understand theory behind reactive-banana? As I understand, there have been some progress in this field and different FRP libraries use different approaches, so I don't think that any FRP paper would do.