今天分享的過濾類型 operators 都具有依照時間條件讓原來資料流不要太過頻繁發生件的意味,但各自有不同處理邏輯,有些也比較抽象,建議多看看彈珠圖來理解。
今天來分享過濾類型的 operators - distinct
系列,這系列的 operators 都是用來避免「重複的事件資料」發生,但各有不同的用處,讓我們繼續看下去吧!
昨天介紹的 take
系列是用來決定要「拿哪些資料」,今天來介紹 skip
系列,越來決定「忽略哪些資料」。
今天來介紹 take
系列的各種過濾類型 operators。
今天開始我們來介紹「過濾類型」的 operators,「過濾類型」的 operators 主要功能是讓 Observable 資料流內的事件在符合特定條件時才發生;這類型的 operators 數量不少,也都很實用,且多半也不太困難,值得多花點時間學習。
今天要介紹的是「組合類型」的 operators,這類型的 operators 會根據指定的條件將來源 Observable 的資料進行「組合」,變成一條新的 Observable 資料流。
今天介紹幾個使用頻率非常高、功能非常類似,又有很大差別的轉換類型 operators:switchMap
/ concatMap
/ mergeMap
/ exhaustMap
。
前一天介紹的轉換類型 operators 都是將 Observable 傳進來的事件值換成另外一個值,而今天介紹的類型都是將傳進來的值換成另外一個 Observable 資料流。什麼意思呢?繼續看下去就知道囉。
在介紹完各種建立 Observable 的 operators 後,接下來我們開始介紹各式各樣放在 pipe
裡面,讓 Observable 資料流向更加多采多姿的 operators。
首先要介紹的是各種「轉換」類型的 operators。
今天再來介紹幾個常用的「建立/組合」類型的 operators。
接下來我們來介紹「組合/建立類型」的 operators,這類型 operators 的目標依然是「建立」新的 observable,但來源不再是特定的數值等,而是直將另外一個(或數個) Observable 當作資料來源建立新的 Observable。