繁体   English   中英

分享在RxJS 5中的重播

[英]shareReplay in RxJS 5

根据RxJS 5 MIGRATION.md ,看起来像shareReplay()已被删除。

  1. 为什么?
  2. .publishReplay(1).refCount()忠实地复制了这种行为? 基本上我需要将最新的单个数据集重播给任何新订阅者。

简短的回答:引用Blesh先生:

RxJS 5试图解决的问题是ConnectableObservables应该是“可重新连接的”,并且refCount应该返回一个冷却直到订阅的observable,然后热,直到所有订阅都结束,然后再冷。

问题在于完成后主体的行为,这阻止了可连接的观察者在完成时重新连接。

答案很长: https//github.com/ReactiveX/RxJS/issues/453

当前的API似乎是重新连接问题的两个愿景之间妥协的结果。 如果有关人员可以对手头的问题进行总结,那将是很好的。 我的理解是.publishReplay(1).refCount()应保留旧的行为,即当您的订阅者数量达到0时,源被断开,您无法重放它。 但是不要相信我的话,测试它,我在讨论后迷路了。

暂无
暂无

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

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