как получить ошибки от редукторов в блоке ошибок подписки - PullRequest
0 голосов
/ 25 октября 2019

Я использую хранилища ngrx и вызываю внутренние эффекты API, и я хочу получить ошибку в подписке одного действия, если api завершается неудачно

пример

this.store.pipe(select(economicEntriesReducer.getEconomicEntries)).subscribe(
    (response) => { // getting response here if api in effect is successful}
    (error) => { // how do i make it work });

Я возвращаюсостояние из редукторов

export const getEconomicSupplierGroups = createSelector (getEconomicEntriesState, state => {return state;});

и обработка вызова таким образом *

return this.httpService.get('economic/entries').pipe(map(
    (response: Supplier[]) => {
        return new economicEntriesActions.GetEntriesSuccess(<Supplier[]>response);
    }),
    catchError(error => of(new economicEntriesActions.GetEntriesError(error)))
);

1 Ответ

0 голосов
/ 25 октября 2019

Редукторы и селекторы не должны выдавать ошибки.

Вместо этого вы должны создать селектор getErrors, если хотите что-то сделать с ошибкой. Больше информации на Обработка состояний ошибок с NgRx

...