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 コードのエラーは何ですか?