工作让订阅在阿波罗工作。我的网络套接字设置正确,我可以看到我正在连接,因为我看到它流入了 pubsub 模块。虽然我认为我的订阅方式有些问题,因为我发布时服务器没有触发响应。
对命名方面的任何混淆表示歉意,因为我将它用于称为订阅的东西。
Graphql 订阅
subscription subscriptionsUpdated($userId: String!){
subscriptionsUpdated(user: $userId, type:ROOM, open:true) {
id,
parent{
... on Rooms{
id
}
}
}
}
GraphQLType
subscription: new GraphQLObjectType({
name: `subscriptions`,
fields: {
subscriptionsUpdated:{
type:Subscriptions.type,
args:{
parent: { type: GraphQLString},
type:{ type: ContentTypes },
open: {type: GraphQLBoolean },
user:{type: GraphQLString },
},
resolve:(source, args)=>{
console.log('it worked and stuff');
return {};
}
},
}
})
订阅管理器和设置功能:
import schema from '../graphql/index.js';
const subscriptionManager = new SubscriptionManager({
schema,
pubsub,
setupFunctions: {
subscriptionsUpdated: (options, args) => ({
subscriptionsUpdated: (comment)=>{
return true;
},
}),
},
});
在我的突变中(我可以看到这种射击)
pubsub.publish('subscriptionsUpdated', doc);
随着事件的触发,subscriptionsUpdated 解析函数/或设置函数不应该触发吗?
我已经查看了有关该主题的 githunt 示例和中等帖子,但仍在努力使最后一部分正常工作。
任何帮助或见解都会很棒!