如何解决这个graphql-relay突变是否设置正确createPerson?
我正在尝试使用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 举报,一经查实,本站将立刻删除。