RxJava2 的4个基础接口。分别是
Publisher
Subscription
Subscriber
Processor
先来开看源代码
Publisher这里提供一个基础接口用来订阅观察者
Subscription这个基础接口用来实现请求和取消的
Subscriber是个接口,有四个功能onSubscribe(Subscription),onNext,onError,onComplete
Observer就这么个接口,里面有onSubscribe(Disposable),onNext,onError,onComplete
onSubscribe里面的参数是用来切断和数据源的连接,onNext是不停的将数据源提供过来的数据处理的,onError发生错误时处理,一旦发生错误,或者执行了onComplete,之后都不会接受来自数据源的数据了。而且onError和onComplete只能有一个执行,逻辑上是这样的,但是都执行了,程序也不一定会报错。
从上面可以看出,Processor接口是继承了Subscriber和Publisher,什么也没干只是继承
市面上的文章都是什么观察者、被观察者、订阅什么的,看的晕乎乎的。
我是这么理解的,仅仅是这么理解的,甭想歪了,这么大岁数了,没这么龌龊。
有个妹子要洗澡(被观察者),那什么你要观(偷)察(窥),也不能老蹲人家家门口等着人家什么时候洗澡吧,万一一个礼拜不洗不是扑街了,于是出来这么个模式,妹子一洗澡就喊“老娘要洗澡了”,于是你听到喊声就出来观(偷)察(窥)了,注意是你,不是我,于是喊声就是这个订阅动作,这个例子只是解释这么个关系,但是你要这么做了,被打死和我一点关系都没!!!
市面上的例子Observable.subscribe(Observer) ==>妹子.喊(你),嗯,就这么理解,
好,这篇大致就到这里了,再写多了就乱了,菜鸟一枚,写的有问题的请大侠指出!
网友评论