基于某些条件使用 Rx Java 的 zip 运算符的两个或多个 HTTP 调用
Two Or more HTTP calls based on some conditions using zip operator of Rx Java
我正在尝试通过 zip 运算符使用 Android RxJava
触发 3 个 HTTP Api 调用。
我的问题是,在触发 3 个 API 时,对于一个 API,我需要检查用户是否已登录。如果用户未登录,我不应该触发三个 API 调用(我应该只触发两个 API 调用)。如果用户已登录,那么我必须触发 3 API 次调用。是否有任何内置方法可以根据条件触发两个或三个 API 调用?
这是一个应该运行良好的示例。如果您检查用户是否登录的方法是异步的,请告诉我,我将 post 提供后续答复:
public Observable<Type> getUserData(){
if(getCurrentUser() != null){
return Observable.zip(api1(), api2(), api3(), (1, 2, 3) -> {
*Combining Function*
});
}else{
return Observable.zip(api1(), api2(), (1, 2) -> {
*Combining Function*
});
}
}
我正在尝试通过 zip 运算符使用 Android RxJava
触发 3 个 HTTP Api 调用。
我的问题是,在触发 3 个 API 时,对于一个 API,我需要检查用户是否已登录。如果用户未登录,我不应该触发三个 API 调用(我应该只触发两个 API 调用)。如果用户已登录,那么我必须触发 3 API 次调用。是否有任何内置方法可以根据条件触发两个或三个 API 调用?
这是一个应该运行良好的示例。如果您检查用户是否登录的方法是异步的,请告诉我,我将 post 提供后续答复:
public Observable<Type> getUserData(){
if(getCurrentUser() != null){
return Observable.zip(api1(), api2(), api3(), (1, 2, 3) -> {
*Combining Function*
});
}else{
return Observable.zip(api1(), api2(), (1, 2) -> {
*Combining Function*
});
}
}