Graphql 阿波罗错误:“;连接器必须是函数或类”;?
我在GraphIQL中有这个查询(注意:Graph I QL)。它给了我一条关于“连接器”的错误消息: GraphIQL正在返回此响应:Graphql 阿波罗错误:“;连接器必须是函数或类”;?,graphql,apollo,apollostack,Graphql,Apollo,Apollostack,我在GraphIQL中有这个查询(注意:Graph I QL)。它给了我一条关于“连接器”的错误消息: GraphIQL正在返回此响应: { "data": { "getUserData": null }, "errors": [ { "message": "Connector must be a function or an class", "locations": [ { "line": 2,
{
"data": {
"getUserData": null
},
"errors": [
{
"message": "Connector must be a function or an class",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"getUserData"
]
}
]
}
这是我的解析器:
getUserData(_, args) {
debugger; <== NEVER ACTIVATES
return Promise.resolve()
.then(() => {
console.log('In getUserData');
var Users = connectors.UserData.findAll({where: args}).then((Users) => Users.map((item) => item.dataValues));
return Users;
})
.then(Users => {
return Users;
})
.catch((err)=> {
console.log(err);
});
},
getUserData(\uz,args){
调试器{
log('In getUserData');
var Users=connectors.UserData.findAll({where:args})。然后((Users)=>Users.map((item)=>item.dataValues));
返回用户;
})
。然后(用户=>{
返回用户;
})
.catch((错误)=>{
控制台日志(err);
});
},
解析程序中的调试器
断点从未激活
我还不知道GraphIQL所说的“连接器”是什么意思。需要更改什么?已修复!我必须从调用
makeExecutableSchema
中删除对连接器的引用,并将其添加到:
server.use('/graphql', bodyParser.json(), graphqlExpress({
schema,
context: {
connectors: connectors
}
}));
然后我可以在解析器中检索它,如下所示:
getUserData: (root, args, context) => {
return Promise.resolve()
.then(() => {
var Users = context.connectors.UserData.findAll({where: args}).then((Users) => Users.map((item) => item.dataValues));
return Users;
})
.then(Users => {
return Users;
})
.catch((err)=> {
console.log(err);
});
},
感谢阿波罗Slack上的@marcusnielsen给我的提示,帮助我找到了这个
getUserData: (root, args, context) => {
return Promise.resolve()
.then(() => {
var Users = context.connectors.UserData.findAll({where: args}).then((Users) => Users.map((item) => item.dataValues));
return Users;
})
.then(Users => {
return Users;
})
.catch((err)=> {
console.log(err);
});
},