Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

loadingMiddleware.js 662B

12345678910111213141516171819202122232425262728
  1. import {
  2. DELETE,
  3. ERROR,
  4. FETCH,
  5. SUCCESS,
  6. UPDATE,
  7. SUBMIT,
  8. } from "../actions/actionHelpers";
  9. import { addLoader, removeLoader } from "../actions/app/appActions";
  10. const promiseTypes = [FETCH, UPDATE, DELETE, SUBMIT];
  11. export default ({ dispatch }) =>
  12. (next) =>
  13. (action) => {
  14. const promiseType = promiseTypes.find((promiseType) =>
  15. action.type.includes(promiseType)
  16. );
  17. if (promiseType) {
  18. dispatch(addLoader(action.type));
  19. return next(action);
  20. }
  21. if (action.type.includes(SUCCESS) || action.type.includes(ERROR)) {
  22. dispatch(removeLoader(action.type));
  23. return next(action);
  24. }
  25. next(action);
  26. };