我有一个angular / breeze / webapi应用程序,除非我刷新一个具有EntityQuery的页面以返回一个实体,否则效果很好。然后它抱怨元数据不可用,因为实体查询不会触发元数据提取,这与标准查询不同。
如果我们从上一个已发出标准微风查询的角度页面到达页面,那么元数据已经存在,我们没有问题。
所以问题是,如何检查元数据是否存在并触发元数据调用(如果尚未完成)?
非常感谢你能给我的任何帮助。
答案 0 :(得分: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.
});
}