fields
może przyjąć funkcję zamiast obiektu. W ten sposób kod wewnątrz funkcji nie zostanie od razu oceniony:
fields: () => ({
id: { type: GraphQLID },
name: { type: GraphQLString },
category: {
type: CategoryType,
resolve: (parent) => Category.findOne({_id: parent.category}),
}
})