Android Rxjava2 多次有条件的网络请求

发布于 2022-09-06 15:03:57 字数 334 浏览 17 评论 0

假设我们有这样一个需求,开始时通过传入的一个参数访问网络API,然后根据返回结果来再次进行请求,假设返回true 我们就不进行访问了转而做其他操作,如果为false 则我们必须传入另外一个参数再次进行访问网络操作,如果返回的参数假设为true 我们就不再进行访问转而做其他操作,如果为false 则我们重复上述操作,直到所有的参数都尝试完毕,如果全部参数都传完后,服务器返回结果还是为false,则我们就取消操作。
请问如何组合Rxjava2中的操作符来实现上述需求,我尝试过利用map 和flatMap来实现该功能,但是由于返回true和返回false的操作不同,我无法根据不同返回结果返回不同Observable。网络请求用的是retrofit

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

明月夜 2022-09-13 15:03:58

使用fliter+switchIsEmpty+flitermap就可以了

猫卆 2022-09-13 15:03:58

难道不是用递归会更好些,未必非要局限在用单一Observable和操作符一次完成进行吧。结合RxJava,异步请求访问结束后更具结果来进行判断并带参数进行方法递归再次进行。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文