我在一个小的WebSocket项目的工作(使用Socket.io),在那里我用这样的一类:当对象被删除时,对象内的setInterval是否会阻止垃圾回收?
function myClass() {
// start server sync
window.setInterval(this.update.bind(this), 14);
// listen for socket.io events
io.on('my-event', doStuff);
}
有存储在一个数组类的多个实例。 一段时间后,该实例被删除这样的:
myArr.splice(index, 1);
数组是唯一的位置,我存储在的情况下,所以我想,他们会被垃圾收集器被删除从数组中取出之后, 。
相反,我注意到,他们仍然响应我的websocket事件。我想知道如果间隔防止对象被删除,因为它被绑定到窗口对象。 删除类实例之前是否需要清除间隔?
或者事件侦听器是否阻止对象被删除?
谢谢,指出我需要做的步骤。我会尽快报告,因为我已经完成了这些步骤。 – Afterlame