呼喚遠(yuǎn)方
2022-01-07 10:23:28
我有一個(gè)正在聽(tīng)動(dòng)作的傳奇。當(dāng)這個(gè)動(dòng)作被調(diào)度時(shí),它會(huì)執(zhí)行一個(gè)阻塞調(diào)用。問(wèn)題是同時(shí)調(diào)度了很多動(dòng)作(相同的動(dòng)作),而我的傳奇不能采取所有的動(dòng)作。但我需要同步處理每個(gè)動(dòng)作。我知道這是 redux-saga 文檔中的一個(gè)已知問(wèn)題:My Saga is missing dispatched actions但事實(shí)是我不能使用分叉,因?yàn)槲艺娴男枰谔幚硇碌恼{(diào)用之前結(jié)束之前的調(diào)用。這是我的代碼:export function* readProducts() { while (true) { const { payload: { tags }, } = yield take(RFID__ADD_PRODUCT); // sequential add of each item for (const tag of tags) { yield call(addProductViaRfid, tag); } }}有沒(méi)有人有辦法解決嗎 ?
1 回答

www說(shuō)
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以創(chuàng)建緩沖操作通道并從中執(zhí)行操作。
export function* readProducts() {
const addProductRequests = yield actionChannel(RFID__ADD_PRODUCT);
while (true) {
const {
payload: { tags },
} = yield take(addProductRequests);
// sequential add of each item
for (const tag of tags) {
yield call(addProductViaRfid, tag);
}
}
}
添加回答
舉報(bào)
0/150
提交
取消