请教一下nodejs对象释放的问题
"use strict"
var util = require("util")
var Notifier = function() {
var self = this
setInterval(function(){
console.log("emit")
},1000)
}
var test = {}
test.n = new Notifier()
setTimeout(function(){
console.log("quit")
delete test.n
},5000)
按照我理解,5s后test.n对象被释放,也不会一直输出"emit",但是实际不是的,特此请教
6 回复
delete test.n只是从test的scope中移除对前面那个interval的引用n。真正的interval还存在内存当中。interval对象是这样销毁的:
var ref = setInterval();
clearInterval(ref);