亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何采取通過阻塞呼叫調度的多個操作

如何采取通過阻塞呼叫調度的多個操作

呼喚遠方 2022-01-07 10:23:28
我有一個正在聽動作的傳奇。當這個動作被調度時,它會執行一個阻塞調用。問題是同時調度了很多動作(相同的動作),而我的傳奇不能采取所有的動作。但我需要同步處理每個動作。我知道這是 redux-saga 文檔中的一個已知問題:My Saga is missing dispatched actions但事實是我不能使用分叉,因為我真的需要在處理新的調用之前結束之前的調用。這是我的代碼: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);        }    }}有沒有人有辦法解決嗎 ?
查看完整描述

1 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

您可以創建緩沖操作通道并從中執行操作。


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);

        }

    }

}


查看完整回答
反對 回復 2022-01-07
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號