【问题标题】:Chain Completable into Observable flow链 Completable 成 Observable 流
【发布时间】:2017-11-28 14:50:47
【问题描述】:

假设你想在你的 Observable 链中插入一个 Completable,比如对于每个发射的元素,都有一个 Completable 运行并阻塞直到它完成,你会选择什么选项? (这里Completable.complete()只是举例)

  1. .flatMap { Completable.complete().andThen(Observable.just(it)) }

  2. .doOnNext { Completable.complete().blockingAwait() }

  3. 还有别的吗?

【问题讨论】:

    标签: rx-java rx-java2 rx-kotlin rx-kotlin2


    【解决方案1】:
    .flatMapCompletable { Completable.complete().andThen(Observable.just(it)) } // If you don't want it to return
    .flatMap { Completable.complete().andThen(Observable.just(it)) } //Can be used if you want it to return Observable
    

    【讨论】:

      【解决方案2】:

      在选项 2 中,您将失去取消可完成的功能,因为 blockingAwait() 不受可观察流管理。

      如果不需要返回发射的元素,还有flatMapCompletable

      如果您需要执行可完成但还返回发出的元素,那么我会选择选项 1。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-03
        • 2016-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多