RxJava2 的4個基礎(chǔ)接口。分別是
Publisher
Subscription
Subscriber
Processor
先來開看源代碼
Publisher這里提供一個基礎(chǔ)接口用來訂閱觀察者?
Subscription這個基礎(chǔ)接口用來實(shí)現(xiàn)請求和取消的
Subscriber是個接口,有四個功能onSubscribe(Subscription),onNext,onError,onComplete
Observer就這么個接口虑椎,里面有onSubscribe(Disposable),onNext,onError,onComplete
onSubscribe里面的參數(shù)是用來切斷和數(shù)據(jù)源的連接诞丽,onNext是不停的將數(shù)據(jù)源提供過來的數(shù)據(jù)處理的型将,onError發(fā)生錯誤時處理够挂,一旦發(fā)生錯誤钞速,或者執(zhí)行了onComplete贷掖,之后都不會接受來自數(shù)據(jù)源的數(shù)據(jù)了。而且onError和onComplete只能有一個執(zhí)行渴语,邏輯上是這樣的苹威,但是都執(zhí)行了,程序也不一定會報(bào)錯驾凶。
從上面可以看出牙甫,Processor接口是繼承了Subscriber和Publisher,什么也沒干只是繼承
市面上的文章都是什么觀察者调违、被觀察者窟哺、訂閱什么的,看的暈乎乎的技肩。
我是這么理解的且轨,僅僅是這么理解的,甭想歪了,這么大歲數(shù)了旋奢,沒這么齷齪阿蝶。
有個妹子要洗澡(被觀察者),那什么你要觀(偷)察(窺),也不能老蹲人家家門口等著人家什么時候洗澡吧黄绩,萬一一個禮拜不洗不是撲街了,于是出來這么個模式玷过,妹子一洗澡就喊“老娘要洗澡了”爽丹,于是你聽到喊聲就出來觀(偷)察(窺)了,注意是你,不是我辛蚊,于是喊聲就是這個訂閱動作粤蝎,這個例子只是解釋這么個關(guān)系,但是你要這么做了袋马,被打死和我一點(diǎn)關(guān)系都沒3跖臁!虑凛!
市面上的例子Observable.subscribe(Observer) ? ==>妹子.喊(你),嗯碑宴,就這么理解,
好桑谍,這篇大致就到這里了延柠,再寫多了就亂了,菜鳥一枚锣披,寫的有問題的請大俠指出贞间!