我想在缝合模式上使用模式委派来解析联合类型字段。由于目前我的方法似乎不起作用,我该如何实现
Spaceship: {
createdBy: {
fragment: 'fragment SpaceShipFragment on Spaceship { createdByHumanId createdByAlienId }',
__resolveType({ createdByHumanId, createdByAlienId }, args, context, info) {
const delegate = {
operation: 'query',
args: {},
context,
info,
};
if (createdByAlienId) {
delegate.schema = schemas.aliens;
delegate.args._id = createdByAlienId;
delegate.fieldName = 'alienById';
} else if (createdByHumanId) {
delegate.schema = schemas.humans;
delegate.args._id = createdByHumanId;
delegate.fieldName = 'humanById';
}
return info.mergeInfo.delegateToSchema(delegate);
},
},
},
});
我尝试同时使用__resolveType
和resolve
,但是每次我都为空时。
Spaceship
是由其他几种类型实现的接口。
解析器未得到调用。我不太确定自己在做什么错。任何帮助将不胜感激