gpt4 book ai didi

android - 使用 retrofit2 + rxjava 的嵌套请求并忽略子请求中的错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:15:00 37 4
gpt4 key购买 nike

我使用 retrofit2 并且正在学习 RxJava(使用 Retrolambda)。我正在努力实现以下流程:

  1. 获取用户列表
  2. 对于每个用户,获取给定 user_id 的用户详细信息。
  3. 返回包含详细信息的用户列表。

到目前为止,这是我的代码:

getUsers().flatMapIterable(users -> users)
flatMap(user -> getDetailInfo(user.getID()
.doOnNext(detailInfo -> user.setDetailInfo(detailInfo))
.map(detailInfo -> user))
.toList().subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
subscribe(users -> {}, error -> {});

问题是当 getDetailInfo 给出 404 响应时,observable 进入错误范围甚至 getUsers 给出 200 响应。只要 getUsers 给出 200 响应,我如何让响应进入用户范围?

希望我已经足够清楚了。谢谢

最佳答案

如果您想避免 404 破坏您的流,您应该使用 onErrorResumeNext 将您的错误转换为默认响应,如 null 然后您的流将继续存在,即使链式请求返回错误。

关于android - 使用 retrofit2 + rxjava 的嵌套请求并忽略子请求中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37934138/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com