如何在GraphQL中停止订阅?

时间:2019-07-01 18:28:35

标签: graphql graphql-js graphql-subscriptions

这里是我感兴趣的code的一部分(摘自/examples/目录):

  Subscription: {
    counter: {
      subscribe: (parent, args, { pubsub }) => {
        const channel = Math.random().toString(36).substring(2, 15) // random channel name
        let count = 0
        // added var refreshIntervalId = 
        var refreshIntervalId = setInterval(() => pubsub.publish(channel, { counter: { count: count++ } }), 2000) // <----
        return pubsub.asyncIterator(channel)
      },
      // my new changes that hopefully will work
      onDisconnect: (webSocket, context) => {
          clearInterval(refreshIntervalId);
      } 
    }

我有点担心什么是最好的方法(一旦关闭连接,如何在subscribe()onDisconnect()之间将refreshIntervalId传递给stop the interval

更新:我意识到我应该在服务器的选项下插入onDisconnect(而不是在resolver块中),所以我可能觉得我根本不必担心它(它应该默认处理断开连接)。

0 个答案:

没有答案
相关问题