这是我感兴趣的一段代码(取自/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);
}
}
我有点担心什么是最好的方法(如何在连接关闭后通过 refreshIntervalIdsubscribe()
和onDisconnect()
停止间隔。
更新:我意识到我应该onDisconnect
在服务器的选项下插入(而不是在解析器块中),所以我可能认为我根本不应该担心它(它应该默认处理断开连接)。