版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38704338/article/details/80839606
Consumer consumer1 = new Consumer<HttpResult<List<User>>>() {
@Override
public void accept(HttpResult<List<User>> listHttpResult) throws Exception {
Log.i("wangpanapan","----------------");
}
};
Consumer comsumer2 = new Consumer<HttpResult<User>>() {
@Override
public void accept(HttpResult<User> userHttpResult) throws Exception {
Log.i("wangpanapan","----------");
}
};
/**
* Schedulers.io() 代表io操作的线程, 通常用于网络,读写文件等io密集型的操作;
Schedulers.computation() 代表CPU计算密集型的操作, 例如需要大量计算的操作;
Schedulers.newThread() 代表一个常规的新线程;
AndroidSchedulers.mainThread() 代表Android的主线程
*/
public void loopRequest() {
//定义被观察者
Observable observable1 = RetrofitUtil.getNetApi().getGirls2()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
//定义被观察者
final Observable observable2 = RetrofitUtil.getNetApi().addGirl("ACup",19)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread());
observable1.doOnNext(consumer1).observeOn(Schedulers.io())
.flatMap(new Function<HttpResult<List<User>>,ObservableSource<HttpResult<User>>>() {
@Override
public ObservableSource<HttpResult<User>> apply(HttpResult<List<User>> listHttpResult) throws Exception {
return observable2;
}
}).observeOn(AndroidSchedulers.mainThread()).subscribe(comsumer2, new Consumer<Throwable>() {
@Override
public void accept(Throwable throwable) throws Exception {
Log.i("wangpanapan","----------");
}
});