1234567891011121314151617181920212223 |
- import { call, put, take } from "redux-saga/effects";
- import { actionFeedClear, actionPromiseClear } from "../reducers";
- import { actionFeedCategoryGoods } from "../reducers/feedReducer";
- import { promiseWorker } from "../reducers/promiseReducer";
- import { actionCatById } from "./actionCatById";
- import { actionPromisesClear } from "./actionPromisesClear";
- export const actionCatByIdFull = ({ _id, orderBy }) => ({ type: "CAT_BY_ID_FULL", payload: { _id, orderBy } });
- export function* catByIdFullWorker(action) {
- const { _id, orderBy = "createdAt" } = action.payload || {};
- const category = yield call(promiseWorker, actionCatById({ _id }));
- yield put(actionFeedClear());
- yield put(actionPromiseClear("feedCategoryGoods"));
- yield put(actionFeedCategoryGoods({ category, orderBy, skip: 0 }));
- yield take("CAT_BY_ID_FULL_CLEAR");
- yield put(actionPromisesClear(["catById", "feedCategoryGoods"]));
- yield put(actionFeedClear());
- }
|