Я пытаюсь запустить список действий одно за другим с 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 ().