//三个接口
Observable<ResultPublic> observable1 = ApiRetrofit.getInstance().UpLoad1(null);
Observable<ResultPublic> observable2 = ApiRetrofit.getInstance().UpLoad2(null);
Observable<ResultPublic> observable3 = ApiRetrofit.getInstance().UpLoad3(null);
observable1.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.map(new Func1<ResultPublic, ResultPublic>() {
@Override
public ResultPublic call(ResultPublic resultPublic) {
Log.i("tag","observable1========="+resultPublic.toString());
return resultPublic;
}
})
.observeOn(Schedulers.io())
.flatMap(new Func1<ResultPublic, Observable<ResultPublic>>() {
@Override
public Observable<ResultPublic> call(ResultPublic resultPublic) {
return observable2;
}
})
.map(new Func1<ResultPublic, ResultPublic>() {
@Override
public ResultPublic call(ResultPublic resultPublic) {
Log.i("tag","observable2========="+resultPublic.toString());
return resultPublic;
}
})
.observeOn(Schedulers.io())
.flatMap(new Func1<ResultPublic, Observable<ResultPublic>>() {
@Override
public Observable<ResultPublic> call(ResultPublic resultPublic) {
return observable3;
}
})
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Action1<ResultPublic>() {
@Override
public void call(ResultPublic resultPublic) {
Log.i("tag","observable3========="+resultPublic.toString());
}
}, new Action1<Throwable>() {
@Override
public void call(Throwable throwable) {
}
});
写的不对的地方敬请谅解!