如何解决Redux Saga-如何同步运行工人? addItemWorker.js getItemsWorker.js watchers.js
我有2个按顺序运行的传奇工作者:首先addItemWorker
,然后是getItemsWorker
。
我需要如果addItemWorker
失败,则getItems
不应运行。
addItemWorker.js
function* addItemWorker(action) {
try {
const user = yield call(api.addItem,action.payload.item);
yield put({type: "ADD_ITEM_SUCCESS"});
} catch (e) {
yield put({type: "ADD_ITEM_FAILED",message: e.message});
}
}
getItemsWorker.js
function* getItemsWorker() {
try {
const items = yield call(api.getItems);
yield put({type: "GET_ITEMS_SUCCESS"},items);
} catch (e) {
yield put({type: "GET_ITEM_FAILED",message: e.message});
}
}
watchers.js
function* addItemWatcher() {
yield takeEvery(types.ADD_ITEM_ASYNC,addItem);
}
function* getItemsWatcher() {
yield takeEvery(types.GET_ITEMS_ASYNC,getItemsWorker);
}
export function* rootSaga() {
yield all([
call(addItemWatcher),call(getItemsWatcher),]);
}
请帮助我重构代码,以使getItemsWorker
出错时getItemsWorker
不会运行。我想让两个工人都小些,并分别安排他们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。