actionPromise.js 479 B

12345678910111213141516
  1. import {actionPending} from "./actionPending";
  2. import {actionResolved} from "./actionResolved";
  3. import {actionRejected} from "./actionRejected";
  4. export const actionPromise = (name, promise) =>
  5. async dispatch => {
  6. dispatch(actionPending(name))
  7. try {
  8. let data = await promise
  9. dispatch(actionResolved(name, data))
  10. return data
  11. }
  12. catch (error) {
  13. dispatch(actionRejected(name, error))
  14. }
  15. }