Angularjs 如果不存在元数据,请重新获取

Angularjs 如果不存在元数据,请重新获取,angularjs,breeze,asp.net-web-api,Angularjs,Breeze,Asp.net Web Api,我有一个angular/breeze/webapi应用程序,除了刷新一个包含EntityQuery的页面以返回一个实体外,它工作得非常好。然后,它抱怨元数据不可用,因为entityquery不会触发元数据获取,这与标准查询不同 如果我们从上一个启动了标准breeze查询的角度页面到达该页面,那么元数据已经存在,我们没有问题 所以问题是,如何检查元数据是否存在并在尚未执行元数据调用时触发元数据调用? 非常感谢您能给我的任何帮助。试试这样的方法: function fetchMetadata() {

我有一个angular/breeze/webapi应用程序,除了刷新一个包含EntityQuery的页面以返回一个实体外,它工作得非常好。然后,它抱怨元数据不可用,因为entityquery不会触发元数据获取,这与标准查询不同

如果我们从上一个启动了标准breeze查询的角度页面到达该页面,那么元数据已经存在,我们没有问题

所以问题是,如何检查元数据是否存在并在尚未执行元数据调用时触发元数据调用?


非常感谢您能给我的任何帮助。

试试这样的方法:

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.
     });
}

我在line manager.fetchMetadata()上遇到以下错误:“TypeError:无法调用未定义的方法'then'。如何修复它?