redux-observableは、あなたがやることのほとんどすべてのためにRxJSのイディオムのパラダイムに傾きます。 Epicsを組み合わせると、通常のfunction (action$, store)
の署名を持つ新しいEpicが作成されます。したがって、この新しいEpicは、エラーを含め、個々のEpicsからのすべての出力を表します。
あなた自身のrootEpic
を定義し、combineEpics()
コールの結果を構成することで、そのことを活用できます。 Epicsは工場なので、(action$, store)
に合格することを忘れないでください!
は、ここに1つの方法です:
export const rootEpic = (action$, store) =>
combineEpics(epic1, epic2, epic3)(action$, store) // <-- call epic w/ args
.do({ error: err => console.error(err) });
.catch()
にエラーがあった場合、代わりに使用する他のいくつかの観測を返すためのものですので、あなたはおそらく、このため.catch()
演算子を使用しないでください。エラーをログに記録するだけでリカバリしようとしない場合は、.do()
が理想的な演算子です。その目的は、ストリーム自体に影響を与えない外部の副作用(ログなど)を可能にすることです。
エピソードの作成は、この場合だけでなく、すぐに説明する予定の他にも非常に強力です。
.catch()
に関連すると、あなたも興味があるかもしれませんthe RFC for better default error handling。
お返事ありがとうございました。あなたのソリューションは魅力的に機能します。 – ncuillery