Javascript Breezejs id在保存更改后修复

Javascript Breezejs id在保存更改后修复,javascript,breeze,Javascript,Breeze,我使用breeze以以下方式创建新实体: var item = manager.createEntity("ExercisesAndMuscles", initialValues); saveChanges().fail(addFailed); logger.log("id is", item.Id); function saveChanges() { return manager.saveChanges(); } 控制台中的是-1,根据Breeze文档,这是应

我使用breeze以以下方式创建新实体:

var item = manager.createEntity("ExercisesAndMuscles", initialValues);
 saveChanges().fail(addFailed);
 logger.log("id is", item.Id);

function saveChanges() {
        return manager.saveChanges();

    }
控制台中的是-1,根据Breeze文档,这是应该的。当我刷新页面时,我看到id不再是-1,也就是说,现在id是来自数据库的永久id

所以我的问题是,我如何能自动获取这个id,即不刷新页面。 我知道一个可能的解决方案是在客户端生成ID,但我不想这样做


还有别的办法吗?若在客户端生成id是唯一的方法,那个么正确的方法是什么呢

saveChanges是异步发生的,因此在您记录时,id确实是-1,但在不久之后它将成为永久性的

var item = manager.createEntity("ExercisesAndMuscles", initialValues);
saveChanges().then(showId).fail(addFailed);

function showId () {
    logger.log("id is", item.Id);
}

function saveChanges() {
    return manager.saveChanges();
}
在返回的承诺完成后记录id,如图所示,它将不再是-1