我正在使用GitHunt-API和GitHunt-React的示例代码来实现新的Apollo pubsub代码。这是我在上工作pubsub之前的解析器变种代码。这有效:
Mutation: {
createIM: (__, args) => { return connectors.IM.create(args); },
},
另外,作为参考,这是我当前的解析器查询。此代码有效:
Query: {
instant_message(_, args) {
var ret = connectors.IM.findAll({ where: args }).then((res) => res.map((item) => item.dataValues));
return ret;
}
},
以下是为此突变实施pubsub 的当前草案:
Mutation: {
createIM(root, args, context) {
return Promise.resolve()
.then(() => (
connectors.IM.create(args)
))
.then(([args]) =>
connectors.IM.findAll({ where: args }).then((res) => res.map((item) => item.dataValues))
)
.then(comment => {
// publish subscription notification
pubsub.publish('IMAdded', comment);
return comment;
});
},
},
在http://localhost:3010/graphiql中,会抛出错误:
"无效尝试去构造非可迭代实例"
供参考,这里是查询代码我给出了graphiql:
查询:
mutation($fromID: String!, $toID: String!, $msgText: String!){
createIM(fromID: $fromID, toID: $toID, msgText: $msgText){
fromID
toID
msgText
}
}
查询变量:
{
"fromID": "1",
"toID": "2",
"msgText": "Test from GraphIQL"
}
pubsub的Mutation代码中的错误是什么?