尽管DELETE发生错误,实体仍从缓存中删除

时间:2019-06-29 20:11:38

标签: angular ngrx angular8 ngrx-entity angular-ngrx-data

我正在将Angular 8与@ngrx/data一起使用来管理我的实体。当我启动失败的删除操作(服务器返回500)时,尽管未在服务器上删除该实体,但该实体仍从ngrx客户端缓存中删除。

如何防止由于错误而将实体从缓存中删除?还是在发生错误时如何将(未删除的)实体重新添加回缓存?

1 个答案:

答案 0 :(得分:1)

使用悲观性保存https://ngrx.io/guide/data/entity-change-tracker#save-errors

  

其操作名称以_OPTIMISTIC结尾的EntityAction开始一个   乐观的保存。

     

当保存为“乐观”时,许多应用程序更易于构建,因为   更改立即可用于正在监视的应用程序代码   集合选择器。该应用无需等待确认   表示实体操作已在服务器上成功完成。

     

悲观的保存直到服务器上才更新存储。   服务器确认保存成功,然后NgRx Data转到   变成更新收藏集的“成功”操作。用   悲观的保存,更改将不会在商店中提供