在微风中多次调用元数据可以减少吗?

时间:2014-12-25 12:04:06

标签: knockout.js breeze

我已经陷入了这一点,无法继续。

我正在使用 breeze 淘汰我只有一个实体管理器,但是每个查询仍然可以调用元数据,我们可以减少元数据的调用吗?

1 个答案:

答案 0 :(得分:1)

是的,你可以。你的第一个选择是调用EntityManager方法fetchMetadata(),它返回Promise,当它解析时,EntityManager不再查询元数据,所以你需要这样的东西:

var _manager=new breeze.EntityManager("/breeze/<controller>");
_manager.fetchMetadata().then(function() { 
  <your queries here>
});

此外,您可以通过_manager.metadataStore.exportMetadata()将此管理器中的元数据导出到某个变量,并将其导入所有新管理器。

但还有另一种方法,即以更加同步的方式执行此操作,如果没有fetchMetadata承诺等待,您可以在服务器上生成包含元数据的脚本,然后将其加载到您的应用程序,然后将此元数据导入所有管理器。 Here is the link