首页 > 解决方案 > 对列表中的所有项目执行一个任务,然后在 RxJava 中执行另一个任务

问题描述

不幸的是,我的 REST 删除操作仅适用于一项。所以我想做的是,

Observable.just(items).flatMapIterable { items -> items }.flatMap {
                //call REST DELETE for every item
            }.flatMap {
                // call REST GET
            }

问题是每个项目都调用了 GET 调用。如何等待完成所有删除操作然后执行 GET 调用?

提前致谢。

标签: javaandroidkotlinrx-javarx-kotlin

解决方案


在您的情况下,您可以toList()像这样申请

fun doTask(items: List<String>):Observable<Boolean>{
        return Observable.fromIterable(items)
                .flatMap { processItem(it) }
                .toList()
                .toObservable()
                .flatMap { finalTask() }
    }

推荐阅读