在 RxJava 中我有一个Subscriber
我订阅的对象Observable
。稍后(一段时间后onComplete()
已被调用)我创建一个新的Observable
并以相同的方式订阅Subscriber
之前使用过的实例。然而,这似乎行不通。订阅者不可重复使用吗?
Example:
class Loader extends Subscriber<T> {
public void load(){
Observable.just("Foo").subscribe(this);
}
public void onComplete(){
// update UI
}
}
在我的代码中我想实例化一个Loader
一次,然后打电话load()
多次,例如在用户单击刷新按钮后......
你不能重复使用Subscriber
,因为它实现了Subscription
,其中有一个isUnsubscribed
字段一旦设置为true
,永远不会成为false
再次,所以Subscription
不可重复使用。
Observer
另一方面,不包含任何有关订阅状态的信息,因此您可以重复使用它。每次您订阅一个Observer
to an Observable
,RxJava 实现会将其包装在new Subscriber
为你。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)