我定义以下GraphQL类型:GraphQL错误: '的instanceof' 的右手边是不可呼叫
interface.js
import {
GraphQLInterfaceType,
GraphQLNonNull,
GraphQLID
} from 'graphql';
const NodeInterface = new GraphQLInterfaceType({
name: 'Node',
fields: {
id: {
type: new GraphQLNonNull(GraphQLID)
}
}
});
export default NodeInterface;
type.js
import {
GraphQLObjectType,
GraphQLInputObjectType,
GraphQLNonNull,
GraphQLID,
GraphQLList,
GraphQLString,
GraphQLInt,
GraphQLBoolean
} from 'graphql';
import NodeInterface from '../interfaces';
import UserModel from '../../models/User';
const fields = {
id: {
type: new GraphQLNonNull(GraphQLID)
},
name: {
type: GraphQLString
},
users: {
type: new GraphQLList(UserType),
resolve(company) {
const { _id } = company;
return UserModel.find({ companyId: _id }).exec();
}
}
};
export const CompanyType = new GraphQLObjectType({
name: 'Company',
description: 'Company',
interfaces: [NodeInterface],
isTypeOf: value => value instanceof CompanyType, <<<< ERROR HERE
fields: fields
})
在节点上运行查询时出现以下错误:
query {
node(id:"598360ab8713621aac426e88") {
... on Company {
id
name
}
}
}
结果:
{
"errors": [
{
"message": "Right-hand side of 'instanceof' is not callable",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"node"
]
}
],
"data": {
"node": null
}
}
问题是在Company
类型的isTypeOf
,但我不知道为什么它无法评估的instanceof创建的类型。
帮助appreaciated。