例如:
function a() {
this.heartbeat = setInterval(()=>{}, 10000)
}
var b = new a()
delete b //The heartbeat still seems to be working
我想在删除对象时删除心跳。
最佳答案
由于Javascript中没有类的“内置”析构函数方法,因此您可以自己实现一个(我敢肯定还有更多选择,但这是我能想到的唯一方法):
class A {
heartbeat = setInterval(() => console.log('hearbeat'), 1000);
destory() {
clearInterval(this.heartbeat);
}
}
let a = new A();
setTimeout(() => a.destory(), 5000);