index.js 905 B

123456789101112131415161718192021222324252627282930313233343536
  1. import { actionIsLoading } from '../../loading/action';
  2. import {
  3. actionCategoriesSuccess,
  4. actionCategoriesReject,
  5. actionCategorySuccess,
  6. actionCategoryReject,
  7. } from '../action';
  8. import { categoriesGQL, categoryById } from '../../../api-data';
  9. const asyncGetCategories = () => async dispatch => {
  10. try {
  11. dispatch(actionIsLoading(true));
  12. const data = await categoriesGQL();
  13. dispatch(actionCategoriesSuccess(data));
  14. } catch (e) {
  15. dispatch(actionCategoriesReject());
  16. } finally {
  17. dispatch(actionIsLoading(false));
  18. }
  19. };
  20. const asyncGetCategoryById = id => async dispatch => {
  21. try {
  22. dispatch(actionIsLoading(true));
  23. const data = await categoryById(id);
  24. dispatch(actionCategorySuccess(data));
  25. } catch (e) {
  26. dispatch(actionCategoryReject());
  27. } finally {
  28. dispatch(actionIsLoading(false));
  29. }
  30. };
  31. export { asyncGetCategories, asyncGetCategoryById };