Я изо всех сил пытаюсь понять, как запускать несколько действий в обработчике ошибок catch
в моих эпиках.
Я успешно понял, как запускать несколько действий при успешном асинхронном вызове в своих эпиках с помощью thunk-middleware. Смотри ниже:
const editDomainsEpic = (action$) =>
action$
.ofType(EDIT_DOMAINS)
.mergeMap((action) =>
Rx.Observable.fromPromise(api.editDomains(action.payload))
// Here we are using Redux thunk middleware to execute
// a function instead of just dispatching an action
// so that we can disptach two actions
// ----------------- vvv
.map((domain) => (dispatch) => {
// Display Growl Notifications
dispatch(
displayGrowlNotification(
MESSAGE_TYPES.SUCCESS,
`${domain.name} was saved`
)
)
// Fire Success Action
dispatch({
type: EDIT_DOMAINS_SUCCESS,
payload: { domain }
})
})
.catch((error) => Rx.Observable.of({
type: EDIT_DOMAINS_ERROR,
payload: { error }
}))
.takeUntil(action$.ofType(EDIT_DOMAINS_CANCEL))
)
Может ли кто-нибудь указать мне, как я могу вернуть catch
или запустить два наблюдаемых действия, которые будут отправлены так же, как я сделал с успехом?