微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

这个graphql-relay突变是否设置正确createPerson?

如何解决这个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 举报,一经查实,本站将立刻删除。