这个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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...