使用Rxjava2的两个并行和两个顺序请求

时间:2017-11-10 13:59:03

标签: android retrofit2 rx-java2

我试图并行地在两个服务中进行授权,但每个服务都有两个步骤:

第一项服务

1)如果用户存在,则登录帐户(否则创建帐户)

2)如果用户没有

,请创建帐户
 Maybe<String> login()
 Maybe<String> create() 

第二项服务具有相同的步骤。

 Maybe<Result> login2()
 Maybe<Result> create2()

我知道我可以使用ZIP运算符进行并行请求,但我无法理解如何执行所有这些方案。什么是正确的方法?我正在使用RxJava2 + Retrofit2。

1 个答案:

答案 0 :(得分:1)

您应该能够使用以下内容进行登录/创建排序:

Maybe.concat(login, create).firstElement();

(然后可以使用zip,正如您所提到的,并行化为2个服务执行此操作)

以下是一篇涵盖这些模式https://medium.com/devnibbles/rxjava-the-first-3-patterns-4c112a85b689

的好文章