Android 如何在RxJava2中组合多个请求?

Android 如何在RxJava2中组合多个请求?,android,rx-java2,Android,Rx Java2,我想使用rxjava2来获取我的ip地址,我请求2api(因为有时候api是错误的) 我想: 获取返回的第一个成功请求的结果 请求失败时不要跳转到错误 如果两个请求都失败,它将获得默认值 我该怎么办。请帮帮我。 实现您所描述的目标有多种方法,其中一种方法是: getIpV1() .onErrorResumeNext( getIpV2().onErrorReturn(defaulValue) ) 在这里,请求将一个接一个地运行 要使它们并行运行,请参见combinelatet

我想使用rxjava2来获取我的ip地址,我请求2api(因为有时候api是错误的)

我想:

  • 获取返回的第一个成功请求的结果
  • 请求失败时不要跳转到错误
  • 如果两个请求都失败,它将获得默认值
我该怎么办。请帮帮我。

实现您所描述的目标有多种方法,其中一种方法是:

getIpV1()
  .onErrorResumeNext(
    getIpV2().onErrorReturn(defaulValue)
  )
在这里,请求将一个接一个地运行

要使它们并行运行,请参见
combinelatetest()
zip()


谢谢@LordFlash,我会检查你的答案和反馈:)非常感谢@LordFlash
s1 = getIpV1().onErrorReturn(defaulValue)
s2 = getIpV2().onErrorReturn(defaulValue)
Observable.zip(s1, s2, {s1, s2 -> TODO("merge")})