actionUserPage.js 720 B

123456789101112131415161718192021
  1. import { put, take } from "redux-saga/effects";
  2. import { actionPromiseClear } from "../reducers";
  3. import { actionUserById } from "./actionUserById";
  4. export const actionUserPage = ({ _id, promiseName = "userById" } = {}) => ({ type: "USER_PAGE", payload: { _id, promiseName } });
  5. export function* userPageWorker(action) {
  6. const { _id, promiseName = "userById" } = action.payload || {};
  7. yield put(actionPromiseClear("uploadFile"));
  8. if (_id) {
  9. yield put(actionUserById({ _id, promiseName }));
  10. } else {
  11. yield put(actionPromiseClear(promiseName));
  12. }
  13. yield take("USER_PAGE_CLEAN");
  14. yield put(actionPromiseClear(promiseName));
  15. yield put(actionPromiseClear("uploadFile"));
  16. }