У меня есть магазин ngrx в моем угловом приложении. Вот моя функция инициализации компонента.
ngOnInit() {
this.$appState = this.appState.getIndex().pipe(switchMap((index) => {
// do something and return subscription
return this.someService.getItem(index);
}), switchMap((data) => {
return this.someOtherService.getItemDetails(data.index);
})).subscribe((item: any) => {
});
При изменении состояния, когда компонент активен (не уничтожен), компонент подпишется на appState.getIndex
и получит последний элемент и получит последний элемент itemDetails. Это прекрасно работает, пока this.someService.getItem(index);
и this.someOtherService.getItemDetails(data.index)
возвращают 200. Есть некоторые элементы, которые вообще не имеют деталей или элементов, тогда вызовы возвращают 404. После этого любые дальнейшие изменения состояния не вызывают звонки по подписке. Не уверен, что именно моя ошибка. Кто-нибудь может указать мою ошибку.