假设:
Observabel.create(new OnSubscribe(Subscribe<T> sub))
.map<func<T,R>>
.map<func<R,H>>
.subscribe(Sub<H>)
流程图如下:
总结,在subscribe时,转换:
sub<H> -------------> sub<R>(sub<H>,fuc<R,H>) ----------> sub<T>(sub<R>,fuc<T,R>)
最终onSub.call(sub<T>)
在subscriber<T>.onNext(T)时, 转换:
sub<T>.onNext(T) -----> R = fuc<T,R>(T) -------> sub<R>.onNext(R) -----> H = fuc<R,H>(R) -------> sub<H>.onNext(H)
最终 sub<H>.onNext(H)