从可完成到可观察的 RxJava

From completable to observable RxJava

我有return可以完成的方法

interface MyClass{
  fun getSomething(): Completable
}

如果完整,我想将其映射到 Observable.just(true),如果不完整,我想映射到 Observable.just(false)。complete/error。

类似这样的东西(伪代码)

  getSomething().doIf {
       if (it.onComplete){
          return Observable.just(true)
    } else {
          return Observable.just(false)
    }
}

有没有类似我编的方法doIf

我试图使用 Observable.fromcallable{}myClass.getSomething().toObservable 来实现它,但没有任何效果。

是否有可能实现它以及如何实现?

将其转换为 Single,然后转换为 Observable:

getSomething()
.toSingleDefault(true)
.onErrorReturnItem(false)
.toObservable()

或转换为 Observable 并平面映射信号

getSomething()
.toObservable()
.flatMap(
    { Observable.never<Boolean>() }, 
    { Observable.just(false) }, 
    { Observable.just(true) }
)