網站首頁 美容 美體 服飾 情感 娛樂 生活
當前位置:哇咔範 > 生活 > 經驗

rxjava原理 編程rxjava的基本原理

欄目: 經驗 / 發佈於: / 人氣:2.61W
rxjava原理 編程rxjava的基本原理

1、RxJava是一種基於觀察者模式的響應式編程框架,其中的主要角色有:Observable 是RxJava描述的事件流,在鏈式調用中非常清晰,事件從創建到加工處理再到被訂閲者接收到,就是一個接一個的Observable形成的一個事件流。

2、每一步方法的調用,都會返回一個新的Observable給下一步,這個是RxJava源碼的基礎。同樣是鏈式調用,但它與我們常見的Builder模式不太一樣,每個操作符,每次線程切換,每步都會新建一個Observable而非直接加工上一步的Observable返回給下一步。

3、ObservableOnSubscribe 是這個事件流的源頭,下面我們稱之為事件源,一般由我們自己創建並傳入。我們創建時,需要重寫其subscribe()方法,為了和Observable中的subscribe()方法區別,我們將在下面貼出的代碼中將其改名為call()。

4、我們在調用鏈中有時會用到各種操作符進行一些變換,事實上每個操作符都會重寫這麼一個call()方法,相對於我們創建事件源時在這裏寫入的源業務代碼,這些操作符在這裏要做的事是由RxJava欽定的,一般是連接事件流的上下游。在這裏我們將準備好被訂閲的數據,並調用subscribe()參數中ObservableEmitter的onNext(),onCompleted()或onError()通知訂閲者數據準備情況。

5、Observer 是整個事件流的訂閲者,也就是説,它將會訂閲前面事件創建,加工以後的最終結果。它也是由我們創建的,我們將要重寫它的onNext(),onCompleted(),onError()和onSubscribe(),在接下來的分析中我們將簡化一些,只關注onNext()。我們創建出了Observer以後,將會使用經過上面所有步驟的最後一步生成的Observable,調用它的subscribe(),與事件源產生聯繫。