【发布时间】:2019-03-17 14:37:42
【问题描述】:
假设我有以下场景:
- 打开列表组件
- 调度新的 LoadList() 以使用数据列表更新存储
- 订阅列表状态并显示列表
- 在列表行上单击打开详细信息组件(显示在列表旁边)
- 派发新的 LoadDetails() 以使用商品更新相同的商店列表
- 订阅详情并显示商品信息
按预期工作。
现在假设以下场景:
- 打开列表组件
- 调度新的 LoadList() 以使用数据列表更新存储
- 订阅列表状态并显示列表
- 在列表行上单击打开详细信息组件(显示在列表旁边)
- 调度新的 LoadDetails() 失败并出现一些错误
- 订阅详细信息并仅在详细信息组件上显示错误对话框(列表应保持不变)
这只是一个基本示例。如果我同时有多个可见的组件,从同一个商店获取数据怎么办...... 前任。一些注册表存储包含项目列表,其中一个组件需要一些项目,而另一个组件则很少 + 可能只是更新项目失败,这又是它自己的组件同时可见...
有什么优雅的方式来处理这类错误吗?
P.S.:我可以通过一些可以为每个项目和操作保存错误的 Map 来实现这一点,但这听起来不对 + 样板太多...
【问题讨论】:
标签: angular error-handling redux ngrx ngrx-store