RxJava1变换原理

1)Observable.from(students) .map(new Func1<Student, String>() {

                    @Override

                     public String call(Student student) {

                                return student.getName();  }

                                                                                               });//生成新的Observable

2)map的原理是lift变换

总结:1,原Observable.map()生成新的NewObservable和新的NewOnSubscribe

          2,NewObservable.subscribe(OldSubscriber),调用NewOnSubscribe的call方法

      3,在NewOnSubscribe的call方法中通过原来的Operator生成新的NewSubscriber,调用原OnSubscribe.call(NewSubscriber);执行新的NewSubscriber的onNext()方法;

         4,,在NewSubscriber的onNext中生成新的数据value,然后调用OldSubscriber.onNext(value);转换完成

猜你喜欢

转载自blog.csdn.net/qq_32671919/article/details/81141969