3

我目前正在开发应用程序,我想在其中应用一些新的实践、架构解决方案和库(Rxjava、MVP、干净的架构)。有一个登录过程,包括几个步骤:

  1. 如果不执行 nr.2,则检查设备上的本地数据库中是否存在用户帐户
  2. 使用电子邮件和 ID 向服务器请求(由 Google SignIn 提供)- 服务器检查用户是否已存在于远程服务器数据库中 a。如果不是 - 服务器发送错误响应 (404)
    • 根据响应,如果成功,我将新用户添加到服务器数据库
    • 我将用户保存到设备 b 上的本地数据库中。如果存在(查看数字 2)
    • 我只将用户保存到设备上的本地数据库

每个调用都是使用 RXJava 完成的。每个呼叫都基于前一个呼叫的结果(基于在订阅者中处理的响应)。每个新呼叫都从订户开始。如果在订阅者中调用 OnError 方法,我执行将数据保存在服务器上的 api 调用。所有对 observable 的订阅都在“presenter”中进行。

我想知道是否不可能将所有这些调用合二为一(zip,flatmap)?有更好的主意吗?

4

0 回答 0