版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nadiee/article/details/89188169
.subscribeOn(Schedulers.io())设置这个会将所有流程都置于线程中包括map、faltmap、doOnNext以及订阅回调等,当然如果在这些操作符之前指定线程则会在指定线程执行
rxjava内提供一些线程处理工具
控制在Ui线程执行
AndroidSchedulers.mainThread().scheduleDirect(new Runnable() {
@Override
public void run() {
}
});
控制在io线程执行
Schedulers.io().scheduleDirect(new Runnable() {
@Override
public void run() {
}
});
map flatmap doOnNext
map flatmap区别:
https://www.jianshu.com/p/c820afafd94b
如果不需要结果集类型转换,只是简单处理一些逻辑可以使用doOnNext
.doOnNext(new Consumer<TafResponse<JceStruct>>() {
@Override
public void accept(TafResponse<JceStruct> response) throws Exception {
System.out.println("applyFriend doOnNext 2 tid:"+ Process.myTid());
IMService.getInstance().sendApplyFriendReqMsg(userMini.uid, userMini.nickName, userMini.avatarUrl);
}
})