我无法弄清楚ResourceSubscriber的add(Disposable)
方法的用例。
我认为可以使用add(Disposable)
方法处理多个一次性用品。
但是,如果我想要一起处理一些订阅,
我将使用CompositeSubscription并从subscribeWith
方法的返回值添加Disposables。
而且,我猜这种方式更容易阅读。
另外,我认为,当主要的可流动装置完成后,附加的可流动装置可能会自动处理,因为完成的可流动装置可能会像处理好的可流动装置一样。 所以,我试过了。
Flowable<Long> f1 = Flowable.interval(100L, TimeUnit.MILLISECONDS).take(3);
Flowable<Long> f2 = Flowable.interval(200L, TimeUnit.MILLISECONDS);
ResourceSubscriber<Long> s = new ResourceSubscriber<Long>() {
...
};
s.add(f2.subscribeWith(new DisposableSubscriber<Long>() {
...
}));
f1.subscribe(s);
但是,f2
在f1
完成后仍然有效。
f2
未被处置。
现在,我想知道ResourceSubscriber的add(Disposable)
方法的好用例是什么。
答案 0 :(得分:1)
ResourceSubscriber
允许您注册Disposable
资源,类似于1.x Subscriber
允许的资源,并且可以简化从1.x到2.x的过渡。但是,它只跟踪资源,您必须在dispose
和onError
实施中手动调用onComplete
来处置这些资源。