问题描述
我有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 (将#修改为@)