Javascript Redux observable epic连续执行几次操作,但只返回最后一次
我有一个epic,它应该连续执行几次类型为VERIFY_INSURANCE_REQUEST的操作。switchMap块内的一切都很好(所有项目也都在进行),但只有最后一个项目进入map块,所以我只有一个成功调度的操作,而不是许多Javascript Redux observable epic连续执行几次操作,但只返回最后一次,javascript,reactjs,redux,rxjs,redux-observable,Javascript,Reactjs,Redux,Rxjs,Redux Observable,我有一个epic,它应该连续执行几次类型为VERIFY_INSURANCE_REQUEST的操作。switchMap块内的一切都很好(所有项目也都在进行),但只有最后一个项目进入map块,所以我只有一个成功调度的操作,而不是许多 function verifyInsuranceEpic(action$) { return action$.pipe( ofType(types.VERIFY_INSURANCE_REQUEST), switchMap((action) => {
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)))
);
}
有没有办法让所有响应都转到映射块?如评论中所述,解决方案是将switchMap更改为concatMap。这是因为您使用的是
switchMap
,如果您希望一个接一个地处理所有响应,请使用concatMap
。如果您希望同时处理所有这些数据,请使用mergeMap
。它可以工作。谢谢