我正在使用AngularJS。由于一些资源很难通过API(从数百个到大约一千个数组中包含的对象)我在前端缓存它们。
我有一个包含此信息的html表。每行显示缓存中的这些对象之一,并且还提供选项以修改这些对象中的某些字段。修改其中一个字段时,会向服务器发出请求,以通知对该对象所做的更改。
当然,需要保持缓存同步。如果我将缓存数据绑定到表,则每次操作都会对缓存进行更改。如果服务器拒绝其中一个更改,则缓存和服务器将是未同步的。如果没有对象的副本,我将无法回滚。
保持同步的最佳做法是什么?
我的解决方案是克隆缓存并将其用于表。更改字段将仅影响副本,并且将发出请求。一旦服务器接受请求,我就更新了缓存。
我认为这种做法容易出现未来的错误。我的意思是容易出错,基本上是在克隆数组时。这是因为克隆必须仔细完成才能真正克隆东西,而不是只是浅层复制。
还有其他方式更优雅地同步工作吗?
我希望我能够很好地解释这个问题。