Redux Saga запускает список генераторов в серии - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь запустить список действий одно за другим с Redux Saga

Например:

function* createScenesFromFiles(action: CreateScenesFromFiles){
    yield all(action.files.map(file => put(new CreateSceneFromFile(action.collectionId, file))))
}

Пользователь загружает кучу файлов, мне нужно запустить это после саги на каждом из них, но генерировать новый временный идентификатор для каждого из саг. ie Действие внизу GenSceneId будет увеличиваться sceneId, поэтому, когда следующее действие CreateSceneFromFile запустит эту сагу, sceneId будет другим.

function* createSceneFromFile(action: CreateSceneFromFile){

    const {sceneId} = yield select((state:RootStateStore) => state.domain.poolIds)
    const result:IAssetData =  call(ImageService.captureThumb, action.file)


   .... 

    yield all([
        put(new GenSceneId()),
        put(new SaveScene(scene))
    ])   
}

В настоящее время этот идентификатор сцены одинаков при каждом вызове функции, причем в редукторе он меняется каждый раз, когда вызывается GenSceneId ().

...