分享在RxJS 5中的重播

时间:2016-02-06 21:48:07

标签: javascript rxjs rxjs5

根据RxJS 5 MIGRATION.mdshareReplay()看起来已被删除。

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

2 个答案:

答案 0 :(得分:13)

答案 1 :(得分:8)

答案简短: 引用Blesh先生:

  

RxJS 5试图解决的问题是ConnectableObservables   应该是"可以重新连接",refCount应该返回一个可观察的   这是冷的,直到订阅,然后热,直到所有订阅   已经结束,然后再冷。

问题在于完成后主体的行为会阻止可连接的observable在完成时重新连接。

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

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