1. 程式人生 > >Rxjava2 變換型操作符

Rxjava2 變換型操作符

1.作用

  • 對事件序列中的事件 / 整個事件序列 進行加工處理(即變換),使得其轉變成不同的事件 / 整個事件序列

Map()

對被觀察者傳送的每1個事件都通過 指定的函式 處理,從而變換成另外一種事件

  • 應用場景  資料型別轉換

FlatMap() / ConcatMap()

將被觀察者傳送的事件序列進行 拆分 & 單獨轉換,再合併成一個新的事件序列,最後再進行傳送

原理

  • 為事件序列中每個事件都建立一個 Observable 物件;
  • 將對每個 原始事件 轉換後的 新事件 都放入到對應 Observable
    物件;
  • 將新建的每個Observable 都合併到一個 新建的、總的Observable 物件;
  • 新建的、總的Observable 物件 將 新合併的事件序列 傳送給觀察者(Observer

  • 應用場景 將被觀察者傳送的整個事件序列進行變換  
  • 親測發現 flatmap 和 concatmap 沒有區別,之前看書上說前者無序後者有序,這個點比較矛盾???????

Buffer()

  • 定期從 被觀察者(Obervable)需要傳送的事件中 獲取一定數量的事件 & 放到快取區中,最終傳送