我正在将Angular 8与@ngrx/data
一起使用来管理我的实体。当我启动失败的删除操作(服务器返回500)时,尽管未在服务器上删除该实体,但该实体仍从ngrx客户端缓存中删除。
如何防止由于错误而将实体从缓存中删除?还是在发生错误时如何将(未删除的)实体重新添加回缓存?
答案 0 :(得分:1)
使用悲观性保存https://ngrx.io/guide/data/entity-change-tracker#save-errors
其操作名称以_OPTIMISTIC结尾的EntityAction开始一个 乐观的保存。
当保存为“乐观”时,许多应用程序更易于构建,因为 更改立即可用于正在监视的应用程序代码 集合选择器。该应用无需等待确认 表示实体操作已在服务器上成功完成。
悲观的保存直到服务器上才更新存储。 服务器确认保存成功,然后NgRx Data转到 变成更新收藏集的“成功”操作。用 悲观的保存,更改将不会在商店中提供