我正在尝试通过zip运算符使用Android RxJava
发出3个HTTP Api调用。
我的问题是,在触发3个API时,对于一个API,我需要检查用户是否已登录。如果用户没有登录,我不应该触发三个API调用(我应该只触发两个API调用)。如果用户已登录,则必须触发3个API调用。任何基于条件触发两个或三个API调用的内置方法?
答案 0 :(得分:0)
这是一个应该运作得很好的例子。如果您检查用户是否已登录的方法是异步的,请告诉我,我将发布一个后续答案:
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*
});
}
}