breezejs在创建新实体时获取元数据



当我调用以下代码时:

function createMandat (initialValues) {
        return manager.createEntity('Mandate');
}

失败,因为类型'Mandate'未知。我能理解,因为当我调用这个函数时,我还没有获取任何这种类型的实体。

所以我的问题是,如果元数据存储不知道类型,我如何强制往返服务器以获取该类型的元数据?在我的代码中,什么地方最适合这样做?

您可以呼叫manager。fetchMetadata,然后在promise解析后执行createEntity调用。

 manager.fetchMetadata().then(function() {
    var newMandate = manager.createEntity("Mandate");
    ...
 });

如果您先执行查询,则不需要这样做,因为如果查询执行在执行查询之前找不到元数据,则会隐式执行fetchMetadata。下面的代码也可以。

manager.executeQuery(myQuery).then(function(data) {
    results = data.results;
    var newMandate = manager.createEntity("Mandate");
    ...
 });

最新更新