如何在RxJava2中以订户的身份获得一次性使用

如何在RxJava2中以订户的身份获得一次性使用

问题描述:

这可能是一个愚蠢的问题,但在RxJava 2.0中订阅Subject时,如何获得?如何在RxJava2中以订户的身份获得一次性使用

例如:

observable.subscribeWith(behaviorSubject) 

不返回Disposable?我如何取消这种订阅?

或者与CompositeDisposable另一个例子:

compositeDisposable.add(observable.subscribeWith(behaviorSubject))) 

这并不编译,因为subscribeWith(behaviorSubject)不返回一次性的。

如何取消订阅/处理/取消主题?

你不是第一个绊倒这个的人。例如issue #4438就是关于它的。只需用DisposableObserver包装你的主题。在另一个关于Flowable的问题中,有人提议使用take*()方法之一来完成订阅。

+0

我不知道如果我明白,我应该在我的xxxSubject.subscribe()中使用DisposableObserver()? – Leonardo