はじめに
redux-observableでエラーをthrowしてくれるライブラリを扱うこともよくあります。
ただ、それぞれのEpicに同じようなcatchErrorを書いていくのは面倒。
Epic全体でエラーハンドリングできないものか![]()
解決策
combineEpicsをラップします![]()
const rootEpic = (
action$: ActionsObservable<Action<unknown>>,
store: StateObservable<void>,
dependencies: unknown
) =>
combineEpics(
// あなたのEpic
)(action$, store, dependencies).pipe(
catchError((error, caught) =>
merge(of(yourActions.handleError(error.message)), caught)
),
mergeMap(action => of(action))
);
参考にした記事
How to add a global error handler for all redux-observable epics?