當前位置:生活全書館 >

綜合知識

> rxjava原理

rxjava原理

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

rxjava原理

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(),與事件源產生聯絡。

標籤: rxjava
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/qmz1zg.html