【发布时间】:2019-09-06 07:01:03
【问题描述】:
我是 RX java 的新手,我知道如何使用 zip 或平面地图,但是我遇到了以下问题,我觉得没有选择:
我有一个我正在尝试重构的方法:
updateDetails(emailAddress: String?, updateEmail: Boolean,
nickName: String?, updateNickName: Boolean,
avatarFile: File?, updateAvatar: Boolean)
现在根据方法中的每个布尔值,我确定是否更新电子邮件、昵称或头像。 Earleir 这是使用 if 条件和单独的 API 调用来实现的。有没有办法可以使用提供的标志压缩或组合调用?
【问题讨论】:
-
可空性是什么意思?
emailAddress==null表示电子邮件没有更新,或者(如果标志是true)它被删除了?换句话说,你为什么需要update*标志? -
可空性意味着电子邮件 id 已被删除,并且需要在服务器上更新删除,设计使得用户可以从单个页面更新任何或所有这些项目,将布尔值与字段。我知道设计不是最优的,但我继承了这一点。
-
API 调用的方法是否返回了 observable?
-
是的,每个 API 调用都返回一个 Single
>,我也可以控制修改这部分。但我无法控制该方法的调用方式和参数