首页 > 解决方案 > 如何在 rxJava2 中通信自定义任务和另一个类?

问题描述

我在类 (A) 中创建一个任务并异步调用,然后如果任务完成或取消,则将结果传递给另一个类 (B),并在 rxJava2 中使用。我在 rxJava2 中很新,我很困惑。我可以使用这个逻辑吗?可完成还是可流动?

我想做的事

调用异步任务类(B)运行任务并发出一些结果类(A)然后订阅类(B)中的任务结果知道吗?谢谢你的建议

标签: javaandroidrx-java2

解决方案


所以你有一些任务 A 和 B 暴露为流,例如。Single<TaskAResult>Single<TaskBResult>。任务 A 发出结果后,使用 flatMap 订阅任务 B。

taskA.flatMap(taskAResult -> taskB(taskAResult))
        .subscribe(taskBResult -> {
            // do whatever after task B finishes
        });

而且您有一个方法Single<TaskBResult> taskB(TaskAResult result)可以根据任务 A 结果创建任务 B。


推荐阅读