美文网首页
Rxjava flatmap操作符,登录-获取用户信息一步到位

Rxjava flatmap操作符,登录-获取用户信息一步到位

作者: Zocki | 来源:发表于2017-03-18 20:06 被阅读0次
工程需要依赖的包
compile 'com.jakewharton.rxbinding:rxbinding:0.4.0'
compile 'io.reactivex:rxjava:1.2.7'
compile 'io.reactivex:rxandroid:1.2.1'
代码
private class LoginInfo {
    private String token;
}

private class UserInfo {
    private String userInfoJson;
}


Observable.just(1).flatMap(new Func1<Integer, Observable<LoginInfo>>() {
      @Override
      public Observable<LoginInfo> call(Integer integer) {
           // 从网络获取数据
           LoginInfo loginInfo = new LoginInfo();
           return Observable.just(loginInfo);
       }
   }).flatMap(new Func1<LoginInfo, Observable<UserInfo>>() {
       @Override
       public Observable<UserInfo> call(LoginInfo loginInfo) {
           // 从网络获取用户信息,带入token 啥的。。
           UserInfo userInfo = new UserInfo();
           return Observable.just(userInfo);
       }
   }).observeOn(AndroidSchedulers.mainThread()) // 线程切换
           .subscribeOn(Schedulers.io())
           .subscribe(new Subscriber<UserInfo>() {
       @Override
       public void onCompleted() {
       }

       @Override
       public void onError(Throwable e) {
       }
       @Override
       public void onNext(UserInfo o) {
           // 从网络获取到用户数据,本地保存,然后 do something
       }
   });

相关文章

网友评论

      本文标题:Rxjava flatmap操作符,登录-获取用户信息一步到位

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