我试图并行地在两个服务中进行授权,但每个服务都有两个步骤:
第一项服务
1)如果用户存在,则登录帐户(否则创建帐户)
2)如果用户没有
,请创建帐户 Maybe<String> login()
Maybe<String> create()
第二项服务具有相同的步骤。
Maybe<Result> login2()
Maybe<Result> create2()
我知道我可以使用ZIP运算符进行并行请求,但我无法理解如何执行所有这些方案。什么是正确的方法?我正在使用RxJava2 + Retrofit2。
答案 0 :(得分:1)
您应该能够使用以下内容进行登录/创建排序:
Maybe.concat(login, create).firstElement();
(然后可以使用zip
,正如您所提到的,并行化为2个服务执行此操作)
以下是一篇涵盖这些模式https://medium.com/devnibbles/rxjava-the-first-3-patterns-4c112a85b689
的好文章