操作符是为了解决对Observable对象的变换的问题,用于在Observable和最终的Subscriber之间控制、修改Observable发出的事件。
本文通过Filter和Skip操作符的源码来理解操作符的作用,最后可学会自定义操作符。
Filter
Filter中主要是通过OnSubscribeFilter
和FilterSubscriber
代理原始的Observable
和Subscriber
完成筛选。
1 | class Observable<T> { |
通过Filter可以知道通过定义一个新的OnSubscribe可以完成对原始OnSubscribe的修改、控制。
除了定义一个全新的OnSubscribe外还可以通过Operator的方式来完成。