Apollo Subscription PubSub不会触发Listener

时间:2016-11-16 15:59:01

标签: javascript graphql apollostack apollo-server react-apollo

使用apollo工作获取订阅。我正确设置了我的Web套接字,我可以看到我正在连接,因为我看到它流入pubsub模块。虽然我认为我订阅的方式有所不同,因为当我发布时服务器没有触发响应。

对于命名方面的任何混淆道歉,因为我将其用于称为订阅的内容。

Graphql订阅

<div class="registration-val-summary">
  <label class="registration-val-label">
    Please correct the following issues with your registration:
  </label>
</div>

GraphQLType

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

Susbscription Manager和设置功能:

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

在事件触发时,不应该使用subscriptionsUpdated解析函数/或设置函数吗?

我已经研究过关于这个主题的githunt示例和媒体帖子,但仍然在努力让最后一部分工作。

任何帮助或见解都会很棒!

1 个答案:

答案 0 :(得分:3)

我希望我能更好地回答我是如何解决问题的。我一直在调整事情,我不知道我做了什么才能让它发挥作用。嗯...:/

虽然如果你在这方面陷入困境,请深入了解graphql订阅包。你至少可以更好地了解事情的发展方向。

如果您的连接正确,您的浏览器将会回复您遇到的任何其他错误。希望他的帮助!安全旅程!