分享在RxJS 5中的重播

Phi*_*ley 9 javascript rxjs rxjs5

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

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

use*_*222 8

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

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

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

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

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