breezeJS - 无论如何要知道实体在执行entityAspect.acceptChanges后何时完成提交

时间:2015-10-20 00:37:05

标签: javascript breeze

看起来acceptChanges方法返回undefined。有没有办法在提交时执行回调?这似乎是适当的回报承诺...

无论如何要这样做:

entity.entityAspect.acceptChanges().then(successCallback, errorCallback);

2 个答案:

答案 0 :(得分:0)

承诺会很方便,但您可以倾听" entityChanged"当acceptChanges完成并在那里执行逻辑时,EntityManager触发事件。

在这里查看acceptChanges源代码以查看它的作用http://breeze.github.io/doc-js/api-docs/files/a30_entityAspect.js.html#l194

答案 1 :(得分:0)

acceptChanges方法不会提交对服务器的更改。这就是为什么它不是异步的,并且不会返回一个承诺。如果你想在acceptChanges完成后运行一些代码,只需将它写在下一行:

entity.entityAspect.acceptChanges();
entity.description = "fresh";  // runs after acceptChanges

acceptChanges方法只是将实体的allcomb设置为Unchanged并清除EntityState地图。这就像假装实体已被保存一样。

original values方法 提交服务器更改, async, 返回承诺。