rxjava备忘

版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
    }
})

猜你喜欢

转载自blog.csdn.net/nadiee/article/details/89188169