RxJava:Share

2016-08-27  本文已影响1146人  linheimx

翻译

原文

share 操作符是什么?

Paste_Image.png

它使用了 publish 与 refCount 操作符

这两个操作符 使用的太频繁了,所以RxJava将他们组合成了一个操作符:share

所以你还需要知道:publish 与 refCount是什么?

1. publish

publish 将原始的 被观察者 变成为:ConnectedObservable
ConnectedObservable:

当你订阅了 它,它不会发射数据给你的。直到你手动调用 connect方法,它才会开始发射数据给你。
举个例子:她是红楼女子,除非你给她钱(connect),她才会主动为你服务。(好羞耻)

2. refCount

使一个可连接的Observable表现得像一个普通的Observable

试想这种情况:
当你有了多个订阅者,你需要处理每个订阅者的 订阅关系。当他们都不订阅的时候,被观察者才会停止提交对象。

refCount 使这种情况变的很容易处理。

它 记录了订阅者的数量,当每个订阅关系解除了,它会采取正确的行动。

福利时间

上一篇下一篇

猜你喜欢

热点阅读