RxJava操作符FlatMap

以下圖片均來自官網(wǎng)

操作符類別

創(chuàng)建

變換

  1. FlatMap
    FlatMap操作符可以將Observable發(fā)射出的數(shù)據(jù)轉(zhuǎn)化成多個Observables,并將轉(zhuǎn)化后的數(shù)據(jù)[可能是多個]平坦化為一個新的Observable
flatMap.c.png

FlatMap操作符通過將您指定的函數(shù)應(yīng)用于源Observable發(fā)出的每個item來轉(zhuǎn)換Observable,該函數(shù)返回一個本身可以發(fā)出item的Observable。 FlatMap然后合并這些Observables的items,將這些合并結(jié)果以自己的順序發(fā)布。

這個操作符非常有用,當(dāng)Observable返回的數(shù)據(jù)并非你所需要的內(nèi)容是,你可以通過此方法將items轉(zhuǎn)化成你所需的數(shù)據(jù)內(nèi)容并再次發(fā)送出去.當(dāng)然需要注意的是,FlatMap操作符在合并發(fā)送Observables的items數(shù)據(jù)時,數(shù)據(jù)可能會出現(xiàn)交錯.在特定語言實現(xiàn)中,如果你對變化后的發(fā)送順序有嚴(yán)格的要求,那么使用ConcatMap吧,它不會交換已變換的items的發(fā)送,而是以嚴(yán)格的順序發(fā)送這些數(shù)據(jù).

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 本篇文章介主要紹RxJava中操作符是以函數(shù)作為基本單位,與響應(yīng)式編程作為結(jié)合使用的,對什么是操作、操作符都有哪些...
    嘎啦果安卓獸閱讀 2,889評論 0 10
  • 本文獨家發(fā)布到公眾號:Android技術(shù)雜貨鋪 近兩年來,RxJava可以說是異常的火爆,受到眾多開發(fā)者的追捧與青...
    依然范特稀西閱讀 36,640評論 15 58
  • 前言 按照官方的分類,操作符大致分為以下幾種: Creating Observables(Observable的創(chuàng)...
    小玉1991閱讀 1,066評論 0 1
  • 創(chuàng)建操作 用于創(chuàng)建Observable的操作符Create通過調(diào)用觀察者的方法從頭創(chuàng)建一個ObservableEm...
    rkua閱讀 1,854評論 0 1
  • 作者: maplejaw本篇只解析標(biāo)準(zhǔn)包中的操作符。對于擴(kuò)展包,由于使用率較低,如有需求,請讀者自行查閱文檔。 創(chuàng)...
    maplejaw_閱讀 45,768評論 8 93