0

apollo で動作するサブスクリプションの取得に取り組んでいます。Web ソケットを適切にセットアップしました。pubsub モジュールに流れ込むのを見ると、接続していることがわかります。発行時にサーバーが応答をトリガーしていないため、購読方法に問題があると思いますが。

サブスクリプションと呼ばれるものに使用しているため、命名に関する混乱をお詫びします。

Graphql サブスクリプション

  subscription subscriptionsUpdated($userId: String!){
    subscriptionsUpdated(user: $userId, type:ROOM, open:true) {
        id,
        parent{
          ... on Rooms{
            id
          }
        }
    }
  }

GraphQLタイプ

  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;
      },
    }),
  },
});

In My Mutation (発火が見える)

pubsub.publish('subscriptionsUpdated', doc);

イベントが発生すると、subscriptionsUpdated の解決関数またはセットアップ関数が起動するのではないでしょうか?

このトピックに関するgithuntの例と中程度の投稿を調べましたが、この最後の部分を機能させるのにまだ苦労しています。

どんな助けや洞察も素晴らしいでしょう!

4

1 に答える 1