redux-thunk-catch
Version:
Thunk middleware alternative for Redux, with error handling support.
22 lines (19 loc) • 525 B
JavaScript
function createThunkMiddleware(errorHandler, extraArgument) {
return ({ dispatch, getState }) => next => action => {
if (typeof action === 'function') {
try {
return action(dispatch, getState, extraArgument);
} catch (err) {
errorHandler(err, getState(), action, dispatch);
return err;
}
}
try {
return next(action);
} catch (err) {
errorHandler(err, getState(), action, dispatch);
return err;
}
};
}
export default createThunkMiddleware;