Наблюдаемая эпопея Redux выполняет несколько действий подряд, но возвращает только последнее - PullRequest
0 голосов
/ 05 марта 2019

У меня есть эпопея, которая должна выполнить несколько действий типа VERIFY_INSURANCE_REQUEST подряд.Внутри блока switchMap все работает хорошо (все элементы также обрабатываются), но только последний переходит в блок карты, поэтому у меня есть только одно успешно отправленное действие вместо многих.

function verifyInsuranceEpic(action$) {
return action$.pipe(
    ofType(types.VERIFY_INSURANCE_REQUEST),
    switchMap((action) => {
        const { verifyInsuranceModel } = action;
        const promise = InsuranceApi.verifyInsurance(verifyInsuranceModel).then(result => {
            const returnResult = result && result.rejectReason === null;
            const actionResponse = {
                returnResult,
                key: verifyInsuranceModel.key
            }
            return actionResponse;
        })
        return from(promise); 
    }),
    map(result => {
        return verifyInsuranceSuccess(result)
    }),
    catchError(error => of(verifyInsuranceFailure(error)))
); 

}

Есть ли способ заставить все ответы перейти в блок карты?

1 Ответ

1 голос
/ 05 марта 2019

Как уже упоминалось в комментариях, решение - просто изменить switchMap на concatMap.

...