概要 AngularでHttpModuleを連続して使う必要が出た時に、「毎回subscribeでネストが深くなるのが嫌だなぁ」と思ってぐぐったところ、「flatMapを使うと良いよ!」という記事を見つけて使ってみようとしたのがきっかけです。 他のmapやfilterなどと違ってパッと理解できなかったのと、lodashのflatMap(arrayをflattenするやつ)のイメージのせいで詰まったのでまとめました。 環境 rxjs 5.1.0 flatMapはmap + mergeと考えるとイメージしやすい 公式のflatMapのイメージ図は以下です。 ref: ReactiveX - FlatMap operator 初見だと分かりづらいですね。 なので map(itemを変換)とmerge(複数のObservableを束ねる)がくっついたもの と考えるとイメージしやすいです。 map
![RxのflatMapの使い方 - Carpe Diem](https://cdn-ak-scissors.b.st-hatena.com/image/square/0f19115b7b099b264540b8c4aaa54f4138d345ab/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fq%2Fquoll00%2F20170225%2F20170225091903.png)