RxJava 2.x 被觀察者 Observable:
Observable | ||
Flowable | 支持被壓 | |
Single | 只有onError,onSuccess事件 | 沒有onComplete |
Completable | 只有onError,onComplete事件,從發發射任何事件,經常結合andThen操作符使用 | 沒有map、flatMap等操作符,比Observable和Flowable少 |
Maybe |
用onSuuccess()方法來發射數據,如果先調用onComplete,後面就不會發射任何事件 |
只能發射0或者1個數據,發射多個數據,後面的數據也不會處理 |
Subject | 包含4種類型,分別是AsyncSubject、BehaviorSuject、ReplaySubject、PublishSubject | 即是Observable,又是Observer,可以做一個橋樑或者代理 |
Subject | 發射行爲 |
AsyncSubject | 不論訂閱發生在什麼時候,只發射最後一個數據 |
BehaviorSubject | 發送訂閱之前的一個數據和訂閱之後的全部數據(如果沒有數據,發射默認數據) |
ReplaySubjcet0 | 不論訂閱發生在什麼時候,都發射全部數據 |
PublishSubject | 發送訂閱之後的數據 |