Redux的可观察史诗连续执行几次操作,但仅返回最后一个

时间:2019-03-05 12:50:49

标签: javascript reactjs redux rxjs redux-observable

我有一个史诗,该史诗应该连续执行VERIFY_INSURANCE_REQUEST类型的一些动作。在switchMap块内,一切正常(所有项目也都进行了),但是只有最后一个进入map块,因此我只有一个成功调度的动作,而不是很多。

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 个答案:

答案 0 :(得分:1)

如评论中所述,解决方案是将switchMap更改为concatMap。