我在我的应用程序中有一个链接操作,在这里我有一些数据的列表,一旦迭代完成,我将使用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()
}
有人可以帮我吗?
答案 0 :(得分:0)
如果要传播每个值,请使用doOnNext
;如果要在迭代结束时执行某些操作,请使用doOnComplete
。
答案 1 :(得分:0)
您可以执行的操作如下:
Observable.fromIterable(listOf("A", "B", "C", "D"))
.subscribeBy(
onNext = {
doSomeTask(it)
},
onComplete = {
doSomeOtherTask()
}
)
这样,您将获得预期的结果。干杯!