例如:

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);

07-24 09:44