【问题标题】:Is it possible to subscribe inside a `zipWith` operator?是否可以在 `zipWith` 运算符中订阅?
【发布时间】:2017-02-27 04:53:42
【问题描述】:

我正在使用 RxJava2 并且有一个像这样的 Flowable 函数

Flowable1
  .doOnNext()
  .toList()
  .onErrorReturnItem()
  .zipWith(Flowable2
             .toList()
             .onErrorReturnItem()){
         condition1 -> return list1
         condition2 -> return list2

         return list3
   }
  .flattenAsFlowable()
  .flatMap()

zipWith 运算符中,我的条件会根据结果返回不同的列表。实际上,最终的 flatMap 仅适用于list3。但我无法制定如何将其包含在 zipWith() 运算符中,同时仍继续序列。我在想,如果我将它包装在 zipWith 运算符中,我仍然需要订阅,这会导致线程混乱

有办法解决吗?

【问题讨论】:

  • 不清楚你到底想达到什么目的? list3 是什么?条件取决于哪些参数?

标签: android rx-java2


【解决方案1】:

几个小时后,我终于制定了一种从 zipWith 中的可流动列表形式返回的方法:

Flowable1
  .doOnNext()
  .toList()
  .onErrorReturnItem()
  .zipWith(Flowable2
             .toList()
             .onErrorReturnItem()){
         condition1 -> return list1
         condition2 -> return list2

         return Flowable.fromtIterable(list3)
                    .flatMap()
                    .toList()
                    .blockingGet()
   }
  .flattenAsFlowable()

【讨论】:

    猜你喜欢
    • 2017-10-09
    • 2015-01-01
    • 2012-09-04
    • 2010-10-20
    • 2010-10-21
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多