当我拨打以下代码时:
function createMandat (initialValues) {
return manager.createEntity('Mandate');
}
失败,因为'Mandate'类型未知。我理解,因为当我调用此函数时,我还没有获取该类型的任何实体。
所以我的问题是,如果metadataStore不知道某种类型,我怎么能强制往返服务器才能获得这种类型的元数据?我的代码中最好的地方是什么?
答案 0 :(得分:2)
您可以调用 manager.fetchMetadata ,然后在承诺解析后执行 createEntity 调用。
manager.fetchMetadata().then(function() {
var newMandate = manager.createEntity("Mandate");
...
});
如果首先执行查询,则不需要执行此操作,因为如果在执行查询之前无法找到元数据,则查询执行会隐式执行fetchMetadata。所以以下内容也可以。
manager.executeQuery(myQuery).then(function(data) {
results = data.results;
var newMandate = manager.createEntity("Mandate");
...
});