【发布时间】:2016-11-24 23:06:56
【问题描述】:
我遇到了 Angular 2 和 ngrx/store 的特定代码状态,我的应用程序完全中断(路由不工作,数据不出现,路由回前一个,以及所有其他类型的可能灾难),但我我不知道如何调试商店周围发生的事情。 redux dev-tools 是一个很棒的工具,但它似乎无法捕捉错误。
我已将.catch 语句放置在我的选择器、效果器和.subscribe() 语句之前,尝试了两种变体:
return state$.select(state => state.user)
.map(user => user.collection)
.catch((error, caught) => {
console.log('error getCollection');
return caught;
});
和
return state$.select(state => state.user)
.map(user => user.collection)
.catch((error) => {
console.log('error getCollection');
return Observable.throw(error);
});
控制台仍然保持沉默。我根本不相信除了商店之外会有任何其他“单一错误来源”。
此代码不会为我捕获错误。应该吗?:
.do(() => {
Observable.throw('fake error');
})
.catch(error => {
console.error(error);
return Observable.throw(error);
});
谁能告诉我如何调试整个商店中使用的可观察对象?
【问题讨论】: