在Node.js中销毁对象的事件或回调

时间:2018-11-08 14:38:21

标签: javascript node.js

我知道javascript没有destroy方法,但是我的对象需要知道它何时不复存在。

class MyObject
{
    constructor()
    {
        this.interval = setInterval(this.checker, 5000);
    }

    checker()
    {
        // Stuff
    }

    beforeDestroy()
    {
        clearInterval( this.interval );
    }
}

我想清除一个超时和一个时间间隔,然后将其破坏。我找不到它,我假设这是不可能的,但我想确定。任何node.js版本,无论是实验版本还是使用自定义模块都是可以的。

1 个答案:

答案 0 :(得分:1)

因果关系在这里混在一起。无法确定MyObject实例被销毁的时间。通常,不再引用的对象可以被垃圾收集。

beforeDestroy通常由框架实现为一个钩子,例如AngularJS $onDestroy,Angular ngOnDestoy,React componentWillUnmount。当已知不再需要实例时,负责MyObject实例化的地方也应该负责调用beforeDestroy。然后可以对一个实例进行垃圾收集。