繁体   English   中英

RxScala中FRP的事件和行为的相应概念是什么?

[英]What are the corresponding concepts of Event and Behavior from FRP in RxScala?

通过查看RxScala的Scaladoc,我不清楚如何将信号事件和行为的概念从FRP映射到RxScala。

我还参加了Coursera Reactive课程,但没有解释FRP(由Conal Elliott描述)和RxScala之间的联系。 我模糊的感觉是RxScala中的Observables对应于FRP中的行为/信号,但我不太确定。

有人可以解释如何将Conal的FRP( 信号 ,信号变换器,事件,行为)的概念映射到RxScala中定义的概念/类(Future / Observable / Scheduler / Subject)吗?

Conal的Signal相当于wiki的行为,它们是Time - > a虽然Behavior周围有一个newtype包装器。 事件只是一个由Maybe组成的信号。

RxScala的Scheduler似乎是FRP实现/管道,它与程序员用于构建FRP应用程序(GUI或否)的接口没有直接关系。 我打赌很多Haskell FRP利用非严格性来“安排”未来的事件,但这对JVM(特别是)的性能并不友好,因此,调度程序特性就是用来实现的。

RxScala的Observable特性是信号的通用接口,可直接由原始/基本信号实现,即那些不是由其他信号组成的。 Observable对象充当Factory的一部分,有点作为组合器库,提供了向FRP框架提升各种值的方法,以及组合现有Observable实例的一些方法。

RxScala的主题特征是用户定义的派生信号,即依赖于其他Observable的信号。 要依赖于RxScala中的Observable,您必须实现Observer。 Subject只在Observer和Observable的组合之上添加了两个方法 - 转换为Java Rx框架的函数。

Observable对象的组合器生成的派生信号可以实现Subject,但只能保证实现Obervable。 似乎主题是专门用于当您具有独特/自定义/异常方式将传入通知“连接”到传出通知时,特别是如果它是有状态的。

HTH。 这是我第一次扫描RxScala文档,所以我可能错过了一些东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM