[英]How can I communicate custom task and another class in rxJava2?
I create a task in class (A) and call asynchronously then if the task is finished or canceled pass the result another class(B) with using in rxJava2 .I am very new in rxJava2 and I confused.What can I use this logic? 我在(A)类中创建一个任务并异步调用,然后如果该任务完成或被取消,则在rxJava2中使用将该结果传递给另一个类(B)。我在rxJava2中非常陌生,我感到困惑。我可以使用这种逻辑吗? Completable or Flowable?
可完成还是可流动?
What I want to do 我想做的事
call asynchronously task class (B) run task and emit some result class(A) then subscribe the task result in class(B) Any idea ? 异步调用任务类(B)运行任务并发出一些结果类(A),然后将任务结果订阅到类(B)中。 Thanks for your suggestion
谢谢你的建议
So you have some task A and B exposed as streams, ex. 因此,您有一些任务A和B作为流公开,例如。
Single<TaskAResult>
and Single<TaskBResult>
. Single<TaskAResult>
和Single<TaskBResult>
。 Use flatMap to subscribe to task B after task A emits result. 任务A发出结果后,使用flatMap订阅任务B。
taskA.flatMap(taskAResult -> taskB(taskAResult))
.subscribe(taskBResult -> {
// do whatever after task B finishes
});
And you have a method Single<TaskBResult> taskB(TaskAResult result)
which will create Task B based on Task A result. 并且您有一个方法
Single<TaskBResult> taskB(TaskAResult result)
,它将基于Task A结果创建Single<TaskBResult> taskB(TaskAResult result)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.