首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用观察值进行Retrofit2并行响应处理

使用观察值进行Retrofit2并行响应处理
EN

Stack Overflow用户
提问于 2017-10-20 16:57:30
回答 2查看 69关注 0票数 0

我正在开发一个应用程序,用户可以在注册后编辑他/她的个人资料。问题是编辑配置文件会使用对后端的多个API调用。一个用于编辑电子邮件,另一个用于编辑密码等等。我将retrofit2与RxJava结合使用,因此调用是可观察的/单调的。当用户按下编辑按钮并在不同的线程上执行调用时,将显示一个微调控件。如果成功/失败是并行执行的,我该如何处理?用户需要知道编辑是否成功,并在调用完成时隐藏微调器。我不能使用combineLatest,因为用户可能会选择只更改他们的电子邮件或个人资料图片或名称,这样只会调用这些内容,而不会调用所有内容。

EN

回答 2

Stack Overflow用户

发布于 2017-10-20 17:53:02

我无法使用combineLatest,因为用户可能会选择仅更改他们的电子邮件或个人资料图片或名称,因此只会调用这些内容,而不是所有内容

也许你可以伪造API调用。

代码语言:javascript
复制
Observable.zip(
        pictureObservable.flatmap(picture -> {
             if (picture.isNotChanged) return Observable.just(API.SUCCESS);
             else return api.editObservable(picture); 
        }, 
        emailObservable.flatmap(email -> {
             if (email.isNotChanged)  return Observable.just(API.SUCCESS);
             else return api.editObservable(email);
       }, (pictureApiResponse, emailApiResponse) -> apiResponse));
票数 0
EN

Stack Overflow用户

发布于 2017-10-20 18:01:03

通过使用.flatMap()或其他方法将所有调用合并到一个可观察对象中,并在组合的可观察对象的.doOnSubcribe() on和.doAfterTerminate() off中切换微调开关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46845661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档