工作獲取訂閱在阿波羅工作。我有我的網絡套接字設置正確,我可以看到我正在連接,因爲我看到它流入pubsub模塊。雖然我認爲訂閱方式有些問題,但由於服務器在發佈時沒有觸發響應。阿波羅訂閱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 {};
}
},
}
})
Susbscription管理器和設置功能:
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示例和中級帖子,但仍然努力爭取最後一部分工作。
任何幫助或見解都會很棒!
訂閱可能有點棘手最初調試,所以我會盡可能簡化。你有沒有嘗試刪除setupFunctions?如果頻道與頂級訂閱字段名稱相同,我認爲它們是可選的。 – helfer
是的,試圖刪除設置功能。仍然沒有骰子。我想也許我的graphql訂閱查詢設置錯誤,但不知道。繼續挖掘。 – Justin