我知道javascript没有destroy方法,但是我的对象需要知道它何时不复存在。
class MyObject
{
constructor()
{
this.interval = setInterval(this.checker, 5000);
}
checker()
{
// Stuff
}
beforeDestroy()
{
clearInterval( this.interval );
}
}
我想清除一个超时和一个时间间隔,然后将其破坏。我找不到它,我假设这是不可能的,但我想确定。任何node.js版本,无论是实验版本还是使用自定义模块都是可以的。
答案 0 :(得分:1)
因果关系在这里混在一起。无法确定MyObject
实例被销毁的时间。通常,不再引用的对象可以被垃圾收集。
beforeDestroy
通常由框架实现为一个钩子,例如AngularJS $onDestroy
,Angular ngOnDestoy
,React componentWillUnmount
。当已知不再需要实例时,负责MyObject
实例化的地方也应该负责调用beforeDestroy
。然后可以对一个实例进行垃圾收集。