複数のデータソースに対してアクションを実行するためにRxSwiftを使用しようとしています。しかし、私はどのように次のことを達成するための考えがありません。それぞれの出力が次の入力であるオブザーバブルの配列
私は、それぞれの出力が次の入力でなければならないという観測の配列を持っています。だから、私は、最初のものを観測可能にし、結果を待って次のものに渡し、配列の終わりに至るまで最終的な値を返すような何かをしたい。
これは可能ですか?前もって感謝します。
***アップデート:要望に応じて、具体的に説明します。
私が配列で使用している 'observables'はカスタムです。私はObservable.create { ... }
を返す関数を使用します。クロージャの内部では、値を変換した非同期操作を実行し、完了する前にオブザーバに結果を送信します。その結果の値は、次の観測値に渡されなければならず、最終的な値を得るためには、配列内の最後の観測可能値まで続きます。
観測値は複数の値を送信することがありますが、観測値は1つの観測値から次の観測値まで、組立ラインのように渡さなければなりません。
あなたはより特異的であり得る:
うまくいけば、これはあなたが始めることができますか?結果を待って次のものに渡すのはどういう意味ですか? Observablesは定義によって0..n "results"を生成します。したがって、すべての結果または1つの特定の結果ですか?つまり、「最終的な価値」は何ですか? –
あなたの質問に投稿するコードがあればうれしいでしょう。今あなたの説明が意味をなさない - あなたが観測可能な配列を持っていれば、**の出力を次の "入力"に渡すことはできない** - 観測値は "入力"を持たない。観察者は行いますが、出力はありません。被験者は両方を持っていますが、それはあなたが記述したものではありません。 – Enigmativity
"結果の値は、次の観測可能な値に渡す必要があります" - これは「継続継承スタイル(CPS)」と呼ばれ、一般的な関数プログラミングや特にRxの制御フローを記述します。あるオブザーバブルから他の_observables_に変換された_values_は、* .flatMap()*演算子によって変換されます。しかし、多くの他の演算子がありますが、あなたの選択を知るためにそれらを事前に学ぶ方が良いです - http://rxmarbles.com/で概要を参照してください。 –