RxSwift源码札记-1:Map流程跟踪

145 阅读1分钟

Map方法流程跟踪

采用中介者模式创建Map对象,Map对象也继承自Producer类,具有添加订阅者的功能;

当Map被订阅时,创建MapSink,存储订阅者AnomymousObserver,然后将MapSink作为参数调用sourceObservable的subscribe(observer)方法;

同时MapSink有on(:)方法的实现,通过层层调用回调,对序列的值执行_transform操作,将结果作为参数调用AnomymousObserver的on()方法。

截屏2021-04-26 下午1.12.41.png