apolloで働くサブスクリプションを取得する作業。 Webソケットが正しく設定されていて、接続していることがわかります.pubsubモジュールに流れ込むのがわかります。私がパブリッシュするときにサーバーが応答を引き起こさないので、私が購読する方法に何かがあると思います。Apollo Subscription 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 Managerおよびセットアップ機能:私の突然変異で
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解決機能またはセットアップ機能が起動しないようにしますか?
私はこのギタントの例と中規模の記事を調べましたが、この最後の部分を動作させるのにまだ苦労しています。
何か助けや洞察力が素晴らしいです!
サブスクリプションは最初はデバッグするのが難しい場合がありますので、できるだけシンプルにします。 setupFunctionsを削除しようとしましたか?チャンネルがトップレベルのサブスクリプションフィールドと同じ名前を持つ場合、それらはオプションであると思います。 – helfer
セットアップ機能を削除しようとしました。まだダイスはありません。私はおそらく私のgraphqlサブスクリプションクエリが間違って設定されていると思っているが、わからない。掘り続けるつもりです。 – Justin