rxjava的map流程

来源:互联网 发布:素材软件 编辑:程序博客网 时间:2024/04/25 06:17

假设:

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)

0 0