Android Rxjava2 多次有条件的网络请求
假设我们有这样一个需求,开始时通过传入的一个参数访问网络API,然后根据返回结果来再次进行请求,假设返回true 我们就不进行访问了转而做其他操作,如果为false 则我们必须传入另外一个参数再次进行访问网络操作,如果返回的参数假设为true 我们就不再进行访问转而做其他操作,如果为false 则我们重复上述操作,直到所有的参数都尝试完毕,如果全部参数都传完后,服务器返回结果还是为false,则我们就取消操作。
请问如何组合Rxjava2中的操作符来实现上述需求,我尝试过利用map 和flatMap来实现该功能,但是由于返回true和返回false的操作不同,我无法根据不同返回结果返回不同Observable。网络请求用的是retrofit
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用fliter+switchIsEmpty+flitermap就可以了
难道不是用递归会更好些,未必非要局限在用单一Observable和操作符一次完成进行吧。结合RxJava,异步请求访问结束后更具结果来进行判断并带参数进行方法递归再次进行。