如何在 RxJava2 中获取作为订阅者的主题的 Disposable

How to get a Disposable for subjects as subscriber in RxJava2

这可能是一个愚蠢的问题,但是在 RxJava 2.0 中订阅一个 Subject 到一个 Observable 时我如何得到一个 Disposable

例如:

observable.subscribeWith( behaviorSubject)

return 不是 Disposable 吗?我该如何取消这样的订阅?

或者 CompositeDisposable 的另一个例子:

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

这无法编译,因为 subscribeWith( behaviorSubject ) 不是 return 一次性的。

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

您不是第一个遇到这个问题的人。例如 issue #4438 就是这样。只需用 DisposableObserver 包裹您的主题。在另一个关于 Flowable 的问题中,有人建议使用 take*() 方法之一来完成订阅。