как получить ошибки от редукторов в блоке ошибок подписки

Я использую магазины 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 });

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

экспорт 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)))
);

person Rakeschand    schedule 25.10.2019    source источник


Ответы (1)


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

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

person timdeschryver    schedule 25.10.2019