У меня есть поле запроса GraphQL, хранящееся в отдельном query / book.js файле:
const {
GraphQLObjectType,
GraphQLString,
GraphQLSchema,
GraphQLID,
GraphQLInt,
GraphQLList,
GraphQLNonNull,
} = require('graphql');
const Book = require('../../../models/book');
const Author = require('../../../models/author');
const {BookType, AuthorType} = require('../types');
module.exports = {
type: BookType,
args: { id: { type: GraphQLID } },
resolve: (parent, args) => {
// code to get data from db
return Book.findById(args.id);
},
};
Я пытаюсь извлечь функцию разрешения из объекта запроса длялучшая модульность:
const {
GraphQLObjectType,
GraphQLString,
GraphQLSchema,
GraphQLID,
GraphQLInt,
GraphQLList,
GraphQLNonNull,
} = require('graphql');
const Book = require('../../../models/book');
const Author = require('../../../models/author');
const {BookType, AuthorType} = require('../types');
const resolveAuthor = (parent, args) => {
// code to get data from db
return Book.findById(args.id);
};
module.exports = {
type: BookType,
args: { id: { type: GraphQLID } },
resolve: resolveAuthor(parent, args)
};
Тем не менее, выполнение этой команды приводит к ошибке ссылки на предпоследней строке, говорящей, что «родитель» не определен.Что я делаю не так?