我有一个史诗,该史诗应该连续执行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)))
);
}
有什么办法可以使所有响应都进入地图块?
答案 0 :(得分:1)
如评论中所述,解决方案是将switchMap更改为concatMap。