actionImg.js 581 B

123456789101112131415161718
  1. const actionPend = name => ({type: 'IMG', status: 'PENDING', name})
  2. const actionResolv = (name, payload) => ({type: 'IMG', status: 'RESOLVED', name, payload})
  3. const actionReject = (name, error) => ({type: 'IMG', status: 'REJECTED', name, error})
  4. const actionImg = (name, promise) =>
  5. async (dispatch) => {
  6. dispatch(actionPend(name))
  7. try{
  8. let payload = await promise
  9. dispatch(actionResolv(name, payload))
  10. return payload;
  11. }
  12. catch(error){
  13. dispatch(actionReject(name, error))
  14. }
  15. }
  16. export default actionImg;