。Net Reactive Extensions Framework(Rx)是否考虑拓扑顺序?

问题描述 投票:2回答:2

。Net Reactive Extensions框架是否以拓扑顺序传播通知以最大程度地减少更新量?

[像Scala Rx一样:Does .Net Reactive Extensions (Rx) ta

c# .net system.reactive reactive-programming
2个回答
1
投票

。NET Rx在实现FRP时使用多种语义。关键是可观察性和订户上下文,尤其是订户使用的调度程序。

TL; DR-调用通知时,.NET RX不使用拓扑顺序。

长答案:子订阅是按订阅顺序调用的。对于并发调度程序,您可以使用ObserveOn / SubscribeOn方法(更详细的explanation)来实现并行调用。

编辑

(感谢@DaveSexton):

请注意,ObserveOn和SubscribeOn均无法实现“并行”通知(除非您要同时比较两个查询的细分运营商双方)。请注意,ObserveOn和SubscribeOn都不实现“并行”通知(除非您要比较运算符两边的查询)。Rx has a strict contract(§4.2)防止在通知中重叠(并发)通知单一订阅,对于热门可观察到的项目,此合同通常同样适用于所有订阅。


1
投票

[Storm.Net(简单的拓扑排序的反应模型),他试图提供一种按拓扑顺序传播更新的数据模型。

© www.soinside.com 2019 - 2024. All rights reserved.