RxJava 學習筆記<十五> switchOnNext 和 switchMap 操做符

switchOnNext

    switchOnNext 運算符采用一個發出 observables 的observable ,返回的 observable 從最近的 observable 中發射出來。當一個新的 observable 出現時,舊的被丟棄,而新的值被髮出。ios

 

日誌輸出:git

    這個例子可能有點使人困惑。咱們所作的就是創造一個observable,每100毫秒創造一個新的observable。每隔30毫秒,每一個可觀測到的物體都會按順序發出它的數字。在100毫秒後,這些可觀測到的每個都有足夠的時間發射它的數字3倍。而後,一個新的可觀測性被建立,這使得它們被新的可觀測性所取代。github

switchMap

    在 flatMap 內部使用中用 Merge 來組合生成的序列, ConatMap 使用 Conat 時,就會有 switchMap來使用 switchOnNext 來進行 flattening phase(便平臺階段?)。微信

    

    源序列中的每一個值都經過 Func 映射到 observable。從生成的 observable 發出的值由返回的observable 發出。每次新值到達時,Func 都會生成一個新的observable 並切換到它,丟棄舊的值。咱們爲 SwitOnNext 演示的示例也能夠用 SwitchMap 實現。spa

日誌輸出:日誌

原文連接:blog

https://github.com/Froussios/Intro-To-RxJava/blob/master/Part%203%20-%20Taming%20the%20sequence/4.%20Combining%20sequences.mdit

有什麼討論的內容,能夠加我微信公衆號:io

相關文章
相關標籤/搜索