java - 如何在 rxJava2 中通信自定义任务和另一个类?
问题描述
我在类 (A) 中创建一个任务并异步调用,然后如果任务完成或取消,则将结果传递给另一个类 (B),并在 rxJava2 中使用。我在 rxJava2 中很新,我很困惑。我可以使用这个逻辑吗?可完成还是可流动?
我想做的事
调用异步任务类(B)运行任务并发出一些结果类(A)然后订阅类(B)中的任务结果知道吗?谢谢你的建议
解决方案
所以你有一些任务 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。
推荐阅读
- c# - 使用即使设备处于打盹/睡眠模式也能工作的计时器更新前台服务通知
- node.js - 同一个URL,请求库正常工作,但是axios库返回错误
- django - DoesNotExist at /delete/64 列表匹配查询不存在.django
- ruby - 当用 new 调用时,冰糕可以处理 initialize() 的私有定义吗?
- vim - 我该如何预防
从删除vim中的completefunc中的行 - python - 在字典中关联术语?
- azure - Azure Maps - 地图未以正确的大小打开
- spring-data-jpa - 如何检查 spring boot 版本与 spring data cosmos db 的兼容性?
- kotlin - 没有android OS的JavaFX + Kotlin协程,有可能吗?
- flutter - 在颤动中将小部件滚出屏幕