RxSwiftにて、複数の処理を連結して、特定の結果を得たい場合に mapを複数連結させ、次のmapに任意のオブジェクトも付与して渡したい、というケースも多いと思います。 例えば、複数の非同期処理があって、それぞれ順番に実行し、必要な情報が全部揃ったら、最後の処理を実行する。というイメージです。 このような場合は、mapを利用することで実現出来ます。 create { (observer: AnyObserver<Int>) in observer.onNext(1) observer.onCompleted() return NopDisposable.instance } .flatMap { value in return create { (observer: AnyObserver<Int>) in observer.onNext(value) observer.onComple