RxJava: chaining observables

前端 未结 3 1936
感动是毒
感动是毒 2020-12-25 10:47

Is it possible to implement something like next chaining using RxJava:

loginObservable()
   .then( (someData) -> {
      // returns another Observable<         


        
3条回答
  •  爱一瞬间的悲伤
    2020-12-25 11:03

    Sure, RxJava supports .map which does this. From the RxJava Wiki:

    map

    Basically, it'd be:

    loginObservable()
       .switchMap( someData -> fetchUserDataObservable(someData) )
       .map( userData -> cacheUserData(userData) )
       .subscribe(new Subscriber() {
            @Override
            public void onCompleted() {
               // observable stream has ended - no more logins possible
            }
            @Override
            public void onError(Throwable e) {
                // do something
            }
            @Override
            public void onNext(YourType yourType) {
                displayUserData();
            }
        });
    

提交回复
热议问题