我在阿波罗服务器上使用graphql nodejs。当我尝试时,我得到了这个错误:

我已经在解析器中返回pubsub.asyncIterator了。它会返回错误。另一个项目相同的设置工作,但在那里,它不起作用。我在这里检查了一些堆栈问题,但我无法解决。
服务器:App.js
const express = require('express');
const mongoose = require('mongoose');
const { ApolloServer } = require('apollo-server');
const { mainSchema } = require('./graphql/schemas/index');
const { rootResolver } = require('./graphql/resolvers/index');
const app = express();
const server = new ApolloServer({
typeDefs: mainSchema,
resolvers: rootResolver,
subscriptions: {
path: `/graphql`,
onConnect: (connectionParams, webSocket, context) => {
console.log('Client connected');
},
onDisconnect: (webSocket, context) => {
console.log('Client disconnected')
},
},
});
server.listen(3000, "192.168.1.106").then(({ url }) => {
console.log(` Server ready at ${url}`);
});订阅解析器
Subscription :{
userNotifications : withFilter(
()=>pubSub.asyncIterator(NEW_NOTIFICATION_CREATE),
(payload, variables)=>{
console.log("payload=>", payload);
console.log("variables=>", variables);
return true
}
)}}PubSub.js
const { PubSub } = require('graphql-subscriptions')
const pubSub =new PubSub()
exports.pubSub = pubSub;发布于 2021-04-17 14:07:53
我必须使用subccribe关键字来定义subs。谢谢我。订阅:{ userNotifications : withFilter(子代码:userNotifications(有效载荷,变量)=>{ console.log("payload=>",有效载荷);console.log("variables=>",变量);返回true }}
https://stackoverflow.com/questions/67042611
复制相似问题