Apollo Server Subscription subscribe method is never called

Viewed 786

I have an existing Express ApolloServer . I added subscription to that . I can see when I fire the subscription from Playground, the resolve method is called . But, the subscribe method is never called


const { PubSub, withFilter } = require ('apollo-server');
const pubsub = new PubSub();
const SOMETHING_CHANGED_TOPIC = 'something_changed';

const mySubscription = {

  Subscription: {
    somethingChanged: {
      resolve: root => {
        console.log('subscription server resolve', { root })
        return root
      },
      subscribe: () => {
        console.log('I AM HERE IN SUBSCRIPTION', pubsub.asyncIterator(SOMETHING_CHANGED_TOPIC))
        return pubsub.asyncIterator(SOMETHING_CHANGED_TOPIC)
      }
    }
  }
};

module.exports = { mySubscription}

I can see the console.log('subscription server resolve', { root }) getting printed although root is undefined. But the similar console.log('````') in subscribe is not executed .

1 Answers
Related