当我调用以下代码时:
function createMandat (initialValues) {
return manager.createEntity('Mandate');
}
它失败是因为“授权”类型未知。我理解这一点,因为当我调用此函数时,我还没有获取该类型的任何实体。
所以我的问题是,如果 metadataStore 不知道类型,我如何强制往返服务器以获取此类型的元数据?我的代码中这样做的最佳位置是什么?
您可以调用manager.fetchMetadata,然后在 promise 解决后执行您的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");
...
});