[英]Pub-Sub with BaconJS
我可以使用BaconJS进行pubsub吗? 当我尝试创建并订阅事件流时,第一个观察者将使用该流,而将来的观察者将无法重播该流的历史值。
Bacon.js具有两种类型的Observable
:
EventStream
Property
EventStream
的订阅服务器仅接收订阅期间发生的事件。 Property
的订阅者在订阅时会收到发生的最后一个事件。
在Bacon.js中有多种创建Observables
的方法,其中一些创建EventStream
, EventStream
一些创建Property
。 您可以根据需要在两者之间轻松转换。
全部记录在这里 。
作为一个脚注,如果您在RxJS中尝试相同的操作,则会注意到您没有相同的问题。 但不要上当。 您可观察到的RxJS不会挂在最近的事件上,而是将其提供给下一个订阅者。 相反,它正在为每个订户重新创建其基础资源。 这可能很危险。 假设您有一个观察到的命中端点。 该可观察对象的每个订阅者都将使其到达该端点。 仅在调用subscribe
时才发生subscribe
。 当您使用pipe
从另一个pipe
创建一个可观察到的对象时,也会发生这种情况,因此,如果您想将FRP代码分解为一小段以提高可读性,您将遇到RxJS的冷可观察对象的问题。 (RxJS具有诸如shareReplay
类的shareReplay
以使可观察的shareReplay
变得炙手可热,但要在99%的时间内完成您可能想要的操作,这是额外的工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.