shareReplay in RxJS 5

问题描述:

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

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

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

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

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

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

目前API似乎是重新连接问题的两种观点之间的妥协的结果。如果有关人员能够对手头的问题进行总结,那将是非常好的。我的理解是,.publishReplay(1).refCount()应该保持旧的行为,那就是当你的用户数量达到0时,源被断开,并且你不能重放它。但不要听我的话,测试它,我讨论后迷路了。