我需要一个忽略onComplete()
的RxJava主题,所以即使我使用了RxRelay,它也会调用onComplete:(
private val mDisposables = CompositeDisposable()
private val mRelay: BehaviorRelay<Boolean> = BehaviorRelay.createDefault(true)
....
mDisposables += mRelay
.observeOn(io)
.throttleLatest(5, SECONDS)
.flatMap { ... }
.zipWith(...)
.switchMap {...}
.subscribeOn(io)
.subscribeWith(object : DisposableObserver<UiData>() {
override fun onComplete() {
Timber.d("COMPLETED")
}
override fun onNext(it: UiData) {
Timber.d(it.toString())
}
override fun onError(e: Throwable) {
Timber.e(e)
}
})
}
为什么总是onComplete
打电话?
.zipWith
的使用将流限制为最短的参与者,而不管其他流是否结束。