如何防止Rxjava主题位于“ onComplete”上?

问题描述 投票:0回答:1

我需要一个忽略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打电话?

rx-java2
1个回答
0
投票
可能是您对.zipWith的使用将流限制为最短的参与者,而不管其他流是否结束。
© www.soinside.com 2019 - 2024. All rights reserved.