美文网首页RxJava
Rxjava操作符飙车系列(五)登录后获取用去信息

Rxjava操作符飙车系列(五)登录后获取用去信息

作者: 一汪藏海 | 来源:发表于2017-06-15 15:42 被阅读83次

很多人在讲Rxjava的时候都会用到登录,确实这个场景很适合。

哈哈,接下来就和大家讲讲操作符的具体应用。

flatmap操作符。

狗子,上图:

flatmap

将一个发射数据的Observable 变换为多个Observables,然后将它们发射的数据合并后放进一个单独的Observable里。

上正文:

 ApiService.register(new RegisterRequest())            //发起注册请求
            .subscribeOn(Schedulers.io())               //在IO线程进行网络请求
            .observeOn(AndroidSchedulers.mainThread())  //回到主线程去处理请求注册结果
            .doOnNext(new Consumer<ResultBean>() {
                @Override
                public void accept(ResultBean resultBean) throws Exception {
                    //先根据注册的响应结果去做一些操作
                }
            })
            .observeOn(Schedulers.io())
            .flatMap(new Function<UserParam, ObservableSource<BaseBean>>() {

                @Override
                public ObservableSource<BaseBean> apply(UserParam param) throws Exception {

                    BaseBean result=null;//调用网络 ,获取用户信息

                    return Observable.just(result);
                }
            }).flatMap(new Function<BaseBean, ObservableSource<UserBean>>() {

        @Override
        public ObservableSource<UserBean> apply(BaseBean baseBean) throws Exception {
            UserBean user=null;//调用网络

            return Observable.just(user);  //获取用户头像等
        }
    }).subscribeOn(Schedulers.io())
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Consumer<UserBean>() {
                @Override
                public void accept(UserBean userBean) throws Exception {
                    Toast.makeText(LoginRxActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
                    textview.setText(userBean.getName() + userBean.getAge());
                }
            }, new Consumer<Throwable>() {
                @Override
                public void accept(Throwable throwable) throws Exception {
                    Toast.makeText(LoginRxActivity.this, "登录失败", Toast.LENGTH_SHORT).show();

                }
            });

相关文章

网友评论

    本文标题:Rxjava操作符飙车系列(五)登录后获取用去信息

    本文链接:https://www.haomeiwen.com/subject/wvhkqxtx.html