Я использую sagas для загрузки различного количества медиа-файлов. Таким образом, вы можете динамически добавлять больше медиа-файлов. Проблема, с которой я сталкиваюсь, заключается в том, что когда файлы загружаются, не дожидаясь завершения предыдущего, предыдущие отправленные действия теряются, отправляется новое. По сути, это похоже на одновременное выполнение действий с уловом того же типа действия UPLOAD_ACTION
.
Код выглядит примерно так:
export default function* root() {
yield all([takeLatest(LOGIN_REQUEST, login), ..., takeLatest(UPLOAD_REQUEST, upload)]);
}
function* uploadSlide({payload}) {
try {
const response = yield call(
uploadApi,
payload
);
yield put({type: SUCCESS, payload: response});
} catch (error) {
yield put(type: FAILURE);
}
}
Я пробовал разные альтернативы, такие как takeEvery
или channel
, но они не работали.
Есть предложения?