问题描述
我正在尝试使用graphql-relay节点包来实现突变,并且在他们的运输示例之后,我对如何确切地在'outputFields'和'mutateAndGetPayload'字段中实现resolve函数感到困惑-我不确定每种功能都属于什么。
在“ IntroduceShip”示例中,他们在mutateAndGetPayload中制造了一艘新船,然后仅在“有效载荷”中传递该船的ID,然后再次获取该船...(以及派系)>
在他们的“ IntroduceShip”示例之后,我的代码是:
const CreatePersonMutation = mutationWithClientMutationId({
name: "CreatePerson",inputFields: {
name: { type: new GraphQLNonNull(GraphQLString) },email: { type: new GraphQLNonNull(GraphQLString) },age: { type: new GraphQLNonNull(GraphQLInt) },},outputFields: {
person: {
type: new GraphQLNonNull(GQLPerson),resolve: async (payload) => Person.findByPk(payload.id),mutateAndGetPayload: async ({name,email,age}) => {
const person = await Person.create({name,age});
return { id: person.id };
},});
我所知道的是,在第一次返回(创建时)之后,我不应该再次获取该Person。我想我只需要在resolve字段中输出此数据...我是否误解了他们的代码?我也想知道我是否需要担心globalIds?我可以同时解析和mutateAndGetPayload异步吗?还是只有突变是异步的?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)