rxjavaドキュメントの switchmapの定義はかなり曖昧であり、それはにリンク同じページ flatmapとして。2つの演算子の違いは何ですか?
ドキュメントによると(http://reactivex.io/documentation/operators/flatmap.html)
switchMap
以下のようなものですflatMap
、しかし、新たなイベントが観測可能な源から放出されるまで、それが唯一の新しい観測可能からアイテムを放出します。
大理石の図はそれをよく示しています。図の違いに注意してください。
switchMap
第二の元の発光(緑色大理石)その第二放射しないマップされた発光(緑色の正方形を第三以降)、元の発光(青色大理石)開始し、すでに第一輻射たマッピングされた発光(ブルーダイヤモンド)。つまり、マッピングされた 2つのグリーン排出のうち、最初のものが発生するだけです。青いひし形がそれを打ち負かしたので、緑色の四角は放出されません。
ではflatMap
、マップされた結果はすべて、「古くなった」場合でも出力されます。つまり、マップされた緑の放出の1番目と 2番目の両方が発生します- 緑の正方形が放出されます(一貫したマップ機能を使用した場合、放出されなかったため、2番目の緑のひし形が表示されます)最初のブルーダイヤモンド)
flatMap
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加