如何在breeze.js中附加到"metadataLoaded"事件(或等效)

Gor*_*vic 5 ajax breeze

我正在使用一个使用微风进行数据访问的SPA.我想尽快创建一个元数据实例,我想这将是完成初始化之后:

var manager = new entityModel.EntityManager(serviceName);
Run Code Online (Sandbox Code Playgroud)

但是,实体管理器需要对web api控制器执行ajax请求以加载元数据,如果我manager.metadataStore.getEntityType("EntityName")在完成之前尝试,我会得到:

Uncaught Error: Unable to locate an 'Type' by the name
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否存在加载元数据时触发的事件?我浏览文档,但似乎我无法找到它.

Jay*_*and 5

没有事件,但您可以自己调用MetadataStore.fetchMetadata方法并在promise的'then'部分执行逻辑.

如果尚未调用 MetadataStore.fetchMetadata方法,则会针对每个服务器在第一个查询内部自动调用MetadataStore.fetchMetadata方法..

因此,只需在第一次查询之前自己调用MetadataStore.fetchMetadata.

希望这是有道理的.