javascript - 如何在es6中创建析构函数

标签 javascript node.js object ecmascript-6

例如:

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

关于javascript - 如何在es6中创建析构函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58784663/

相关文章:

javascript - 使用 Ember-Data 保存时所有项目的数据重复

javascript - 有没有办法让 Collection 在 MeteorJS 上分块发布数据?

python - 如何将对象追加到实例变量列表中?

javascript - 循环遍历一个 JSON 对象并根据指定的值返回一个键

javascript - QtWebKit - 用户脚本/Javascript 注入(inject)

javascript - 如何从其他事件调用jquery事件

javascript - 以字符串格式提供 moment 时出现 ISO 格式弃用警告

c++ - 虚函数未解析为大多数派生类方法

Javascript 从电子表格中读取数据

javascript - nodejs - 帮助 "promisifying"使用嵌套 promise 读取文件