我必须在序列中执行3个API调用,并且这样做
我使用observable.concatMap(new Func1<>...)
在最后一个我有订户改变activity
但是我想在UI线程中更新progressBar,让用户知道任务的一部分已经完成。
private void getAllData() {
updateUserTask(
getUserScheduleObservable(
getCurrentUserObservable()));
}
private void updateUserTask(Observable<TaskWrapper> observable) {
wrapObservable(observable)
.subscribe(new Subscriber<TaskWrapper>() {
@Override
public void onNext(TaskWrapper taskWrapper) {
openCurrentFragment();
hideProgressIndicators();
}
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable throwable) {
}
});
}
private Observable<TaskWrapper> getUserScheduleObservable(Observable<ScheduleWrapper> observable) {
return observable.concatMap(
scheduleWrappers1 -> apiManager.getRouteObservable(vehicleDeliveryAreaRiderBundle.getVehicle().getId()));
}
private Observable<ScheduleWrapper> getCurrentUserObservable() {
return apiManager.getUserObservable().concatMap(
user -> apiManager.getCurrentScheduleObservable()
);
}
答案 0 :(得分:1)
我认为你正在寻找这样的东西。
$values= file_get_contents($url2);
只要连接这些可观察量,就可以达到预期的效果。
希望它有所帮助。
祝你好运。