Допустим есть некий state:
@State<Some>({
name: "some",
})
@Injectable()
export class SomeState {
constructor(
private readonly someService: SomeService) {
}
@Action(GetSomeAction)
getPage(ctx: StateContext<Some>, action: GetSomeAction) {
return this.someService.getSome(action.params).pipe(
catchError((error: HttpErrorResponse) => {
// так делать не хочется
ctx.dispatch(new SomeErrorAction(error));
return throwError(error);
}),
tap(res => {
// set state
})
);
}
}
Допустим есть такая подписка на сущность:
@Select(SomeState) private readonly some$: Observable<Some>;
some$.subscribe(some=> this.onSomeLoad(some), err => // тут хочется обработать ошибку, но это не работает);
Так вот, проблема в том что не ясно как в рамках одного state обрабатывать ошибку, и можно ли так? Для того чтобы не писать еще один state с ошибкой получения этой сущности и не делая специальный action для этого, который бросаем при ошибке получения объекта по http как в примере выше.