Где я могу разблокировать запомненный селектор в случае ошибки? - PullRequest
0 голосов
/ 25 мая 2019

У меня есть приложение Angular с ngrx в качестве управления состоянием.Я использую адаптер сущностей для получения списка сущностей из API (selectAll).Иногда API не может обработать запрос и возвращает ошибку (ошибка 500 серверов).MemoizedSelector запоминает предоставленные параметры и кэширует пустой результат.Мне нужно найти лучшее место для вызова selector.release (), чтобы снова сделать запрос API.

selectors.ts

export const selectUserState: MemoizedSelector<object, State> = createFeatureSelector<State>('user');

// this can get an error from API
export const selectAllUserItems: (state: object) => User[] = userAdapter.getSelectors(selectUserState).selectAll;

UsersComponent

...
  ngOnInit() {
    this.users$ = this.store$.select(UserStoreSelectors.selectAllUserItems);
  }
...

Мне нужноправильное место, чтобы добавить этот код

...
selectUserState.release();
...
...