首页 > 解决方案 > 如何延迟内部产量?

问题描述

如何在循环生成器内的每个地图中延迟?它产生延迟工作1次。也许不应该something.map

function* loop(param1, param2, param3) {
    try {
        const count = yield call(getCall, param1, param2)
        yield delay(150)
        return {
            id: param2,
            title: param3,
            count: param1
        }
    } catch (e) {
        console.log(e)
    }
}

function* saga(action) {
    try {
        yield put(setIsLoadingAction(true))
        const something = yield select(selectSomethig)
        //loop here
        const data = yield all(
            something.map((someth) => loop(action.payload, someth.id, someth.title))
        )
        yield put(setSomething(data))
        yield put(setIsLoadingAction(false))
    } catch (e) {
        console.log(e)
    }
}

标签: redux-saga

解决方案


推荐阅读