2016-03-06 77 views
0

我需要做一堆模型操作作为一系列可以单独失败的操作,但是我想让整个操作成为原子操作:如果其中任何操作失败,我希望数据存储保持不变,因为它在手术之前。如果他们都成功了,我希望数据存储反映新的状态。有没有办法建立临时数据存储?

使用CoreData(iOS/Mac),我习惯于通过创建子项NSManagedObjectContext并在此子上下文中执行更新来完成此操作。如果操作操作成功,我保存子上下文以将更新传播到主上下文中。如果不是的话,我只是放弃孩子的情况。

Ember Data中是否有类似的机制?

+0

我的思维方式应该更新模型向前是你创建你自己的“ManagedObjectContext”。 – locks

+1

如果您知道可能触及了哪些模型,那么如果整体操作失败,请在所有模型上调用'rollbackAttributes'。 – 2016-03-07 04:07:36

回答

0

不知道模型上的数据类型的详细信息,它如何到达以及如何转换,使其很难很好地回答。

一个真正广泛的解决方案(即假设你并不需要计算性能,所有这将是:

  1. toJSON模型到一个新的变量确保包括ID api docs
  2. 。 ..Do您的操作...
  3. store.push()新的JSON。如果ID的是相同的api docs
相关问题