RxKotlin中的区块链并继续

时间:2019-05-14 12:39:54

标签: android kotlin rx-java2 rx-kotlin2

我在我的应用程序中有一个链接操作,在这里我有一些数据的列表,一旦迭代完成,我将使用iteratable observable遍历该列表,我将执行一些其他操作,该操作不依赖于之前的列表,所以我需要在这两个操作之间进行阻塞(或屏障),直到第一个操作完成并继续第二个操作。

示例

Observable.fromIterable(listOf("A","B","C","D"))
          .map{
            doSomeTask(it)
          } 
   // I need a blocking here, once this iteration completes i will proceed with the below task, but i don't need of toList() to block since i don't want the data,       
          .map{
            doSomeOtherTask()
          }

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

如果要传播每个值,请使用doOnNext;如果要在迭代结束时执行某些操作,请使用doOnComplete

答案 1 :(得分:0)

您可以执行的操作如下:

Observable.fromIterable(listOf("A", "B", "C", "D"))
        .subscribeBy(
            onNext = {
                doSomeTask(it)
            },
            onComplete = {
                doSomeOtherTask()
            }
        )

这样,您将获得预期的结果。干杯!