400 ошибку, больше нельзя повторить такой запрос, только после F5.
Сам эффект выглядит так:
getOperationalGraphAsync$ = createEffect(() =>
this.actions$.pipe(
ofType(packetGraphActions.getOperationalGraphAsync.trigger),
switchMap((action) => {
if (!this.selectedGraph) {
return of(packetGraphActions.getOperationalGraphAsync.failure({ payload: [] }));
}
return this.packetGraphService
.getPacketGraph(this.selectedGraph.equipmentCode!, this.selectedGraph.graphKey!)
.pipe(
finalize(() => {
action.finalize?.();
}),
map((response) => {
action.callback?.();
return packetGraphActions.getOperationalGraphAsync.success({ payload: response.points ?? [] });
}),
catchError((err) => {
action.reject?.(errorUtils.getErrorsFromResponse(err));
return of(
packetGraphActions.getOperationalGraphAsync.failure({
payload: errorUtils.getErrorsFromResponse(err) ?? [],
}),
);
}),
);
}),
),
);
Вызываю я так:
this.store.dispatch(packetGraphActions.getOperationalGraphAsync.trigger({ payload: null }));
На что еще следует обратить внимание?
Я может не знаю нюансов NgRx, но может retry пайп?
Мне не надо повторять запрос, мне событие приходит по SignalR и я заново запрашиваю это
Из вашего сообщения по-моему прямо читается про падающий в 400 запрос и проблеме его повторения. Ну ок, я тогда выхожу из беседы)
Обсуждают сегодня