Rxjs使用带有refCount的主题

时间:2017-01-14 16:47:02

标签: javascript rxjs

当您需要共享可观察执行时,您可以使用执行publish()refCount()方法的共享运算符,但在使用Subjects时如何使用refCount() }?

new Subject().refCount()

2 个答案:

答案 0 :(得分:2)

这是因为refCount()与其他运营商不同。

使用publish()运算符时,它会返回ConnectableObservable的实例。 refCount() is an operator specific only to ConnectableObservable并且您无法在任何其他Observable中找到它。

一个很好的问题是您希望通过refCount()Subject实现的目标,因为refCount()只有在您想要订阅/取消订阅源Observable时才有意义(我不会#39} ;不知道你的具体用例是什么。)

无论如何,如果有意义的话,你总是可以使用(new Subject()).publish().refCount()

答案 1 :(得分:1)

Subject已经,这意味着无需额外使用refCountpublish等。

这是docs

的摘录
  

通过这种方式,主题可以充当一组订阅者的代理和来源。 [...]此外,您可以使用主题向多个订阅者广播数据