我遇到以下问题:breeze js(1.4.2)SaveChanges方法在保存操作完成之前正在处理'then'保证。
save()
{
this.manager.SaveChanges()
.then(process);
}
function process()
{
var baseUri = "api/DoServerProcessingOnNewData";
$.getJSON(baseUri, data =>
{
// Save operation is still running, and server processes old data
this.items(data)
})
}
一旦SaveChanges完全完成,我会预期承诺的'then'部分会执行吗?这是预期的行为,我可以检测保存操作何时实际完成?
答案 0 :(得分:1)
解决了问题,我在我的数据服务层中包含了保存更改调用。直接调用EntityManager.saveChanges可以正确处理承诺。
// Don't do this, wrap the saveChanges method
public static saveChanges()
{
return DataService.EntityManager.saveChanges();
}