当我调用以下代码时:
function createMandat (initialValues) {
return manager.createEntity('Mandate');
}
失败,因为类型'Mandate'未知。我能理解,因为当我调用这个函数时,我还没有获取任何这种类型的实体。
所以我的问题是,如果元数据存储不知道类型,我如何强制往返服务器以获取该类型的元数据?在我的代码中,什么地方最适合这样做?
您可以呼叫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");
...
});