breeze如果不存在则获取元数据

Ric*_*ard 3 asp.net-web-api angularjs breeze

我有一个angular/breeze/webapi应用程序,除非我刷新一个具有EntityQuery的页面以返回一个实体,否则效果很好.然后它抱怨元数据不可用,因为实体查询不会触发元数据提取,这与标准查询不同.

如果我们从之前的角度页面到达了页面,该页面已经触发了标准的微风查询,那么元数据已经存在,我们没有问题.

所以问题是,如何检查元数据是否存在并触发元数据调用(如果尚未完成)?

非常感谢你能给我的任何帮助.

Toa*_*Man 6

尝试这样的事情:

function fetchMetadata() {
    var manager = new breeze.EntityManager("api/breeze");
    if (manager.metadataStore.isEmpty()) {
        return manager.fetchMetadata();
    }

    return Q.resolve();
}

function start() {
     fetchMetadata().then(function () {
            // Metadata fetched.
            // Do something here.
     });
}
Run Code Online (Sandbox Code Playgroud)