trc-client-core
Version:
The core of the TRC Client
16 lines (14 loc) • 520 B
JavaScript
import {createAction} from 'redux-actions';
export default function createRequestActions(fetchAction, recieveAction, errorAction, sideEffect) {
return (...args) => (dispatch) => {
dispatch(createAction(fetchAction)());
return sideEffect(...args).then(
(data) => {
return Promise.resolve(dispatch(createAction(recieveAction)(data)))
},
(error) => {
return dispatch(createAction(errorAction)(error));
}
)
}
}