0

几个小时以来,我一直在努力解决这个问题。我在 Node.js 中有一个非常简单的 GraphQL 实现,如下所示。

const UserType = new GraphQLObjectType({
  name: 'User',
  fields: () => ({
    id: new GraphQLNonNull(GraphQLString),
    username: new GraphQLNonNull(GraphQLString)
  })
});

const QueryType = new GraphQLObjectType({
  name: 'QueryType',
  fields: () => {
    user: {
      type: UserType,
      args: { id: { name: 'id', type: new GraphQLNonNull(GraphQLString) } },
      resolve: (parent, args) => getUser(args.id)
    }
  })
});

const schema = new GraphQLSchema({
  query: QueryType,
});

如果“用户”字段的“类型”QueryType是其他任何内容(例如,GraphQLString),它就可以工作。但是,如果是UserType,我会收到以下错误。

"Error: User.id field type must be Output Type but got: undefined."

堆栈跟踪没有指向任何有用的地方,只是指向 GraphQL 模块本身。据我所知,这不应该是一个循环依赖问题,尽管我尝试对它进行重击以防万一。任何帮助将不胜感激,因为这让我发疯。

4

0 回答 0