这里是我感兴趣的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块中),所以我可能觉得我根本不必担心它(它应该默认处理断开连接)。