【发布时间】:2019-03-28 03:51:02
【问题描述】:
我遇到手动调用 Resolver.resolve 的问题
const createEntityGroupResolver = EntityGroupTC.getResolver('createOne')
const createEntityResolver = EntityTC.getResolver('createOne')
const entityGroupCreate = new Resolver({
name: 'entityGroupCreate',
type: createEntityGroupResolver.type,
args: createEntityGroupResolver.args,
resolve: async ({ source, args, context, info }) => {
const created = (await createEntityGroupResolver.resolve({ source, args, context, info })).record
console.log("created entityGroup : ", created, " from args: ", args)
const newArgs = {record:
{name: args.record.name, entityGroupId:created._id}}
args.record.entityGroupId=created._id
console.log("creating entity from args works: ", args, " but with newArgs it fails: ", newArgs)
await createEntityResolver.resolve({source, newAargs, context, info})
return created
}
});
此代码引发以下错误:
从 args 创建实体作品:{ 记录:
{ 名称:'fsgd1',
fb: 'jgjhgf', web: 'kljh', city: 'jk', entityGroupId: 5bcf7ca2cd38080750b609f1 } } but with newArgs it fails: { record: { name: 'fsgd1', entityGroupId:5bcf7ca2cd38080750b609f1 } }
graphQl 错误:Entity.createOne 解析器至少需要 args.record 中的一个值(节点:1872) [DEP0079] 弃用警告:对象上的自定义检查功能 via .inspect() 已弃用
对于一个神秘的原因,传递一个修改后的 args 参数是可行的
await createEntityResolver.resolve({source, args, context, info})
return created
我注意到 args 是用换行符记录的,而 newArgs 是内联记录的,我不明白为什么
【问题讨论】:
标签: graphql