Учитывая массив предложений, я хочу отправить много http запросов на сервер для создания каждого из них. Я использую Redx-сагу и пытаюсь сделать их последовательными и зависимыми друг от друга.
Фактически, если только один из них выходит из строя, я хочу прервать следующие:
Я пробовал таким образом
function* handleCreateOffers(action: ReturnType<typeof createOffers>) {
console.log(action.payload)
try {
const responses = action.payload.offers.map(offer => {
httpCreateOffer('/createOffer', offer)
.then(result => result)
.catch(err => {
throw new Error('Socket Event Timeout')
})
})
} catch (err) {
if (err instanceof Error && err.stack) {
yield put(createOffersError(err.stack))
} else {
yield put(createOffersError('An unknown error occured.'))
}
}
}
Однако, когда я выкидываю ошибку, это не похоже, доходит до оператора catch, вместо этого он продолжает прокручивать массив
Спасибо