如何完全销毁Node.js中的对象?

如何完全销毁Node.js中的对象?,node.js,Node.js,这是我的回购协议: 在bot.js中,我想在调用reset后完全销毁旧游戏对象。如何彻底销毁一个对象、其所有引用、事件等。。在Node.js中?请注意,您不能销毁超出重置方法范围的引用或删除游戏的任何方法 对于可以访问的引用,只需使用Objects delete process.game的delete关键字即可。并将其赋值为null var game=null;如果引用是变量 最好的方法就是在引用被使用后不要保留内存泄漏。通常这将由JavaScript垃圾收集器自动管理。分析内存使用情况以查找这

这是我的回购协议:


在bot.js中,我想在调用reset后完全销毁旧游戏对象。如何彻底销毁一个对象、其所有引用、事件等。。在Node.js中?

请注意,您不能销毁超出重置方法范围的引用或删除游戏的任何方法

对于可以访问的引用,只需使用Objects delete process.game的delete关键字即可。并将其赋值为null var game=null;如果引用是变量


最好的方法就是在引用被使用后不要保留内存泄漏。通常这将由JavaScript垃圾收集器自动管理。分析内存使用情况以查找这些泄漏。

请注意,删除会导致v8可能会进行的某些类型的优化出现问题。执行process.game=null之类的操作是安全的,除非这会打乱对process对象键的迭代。我没有特定的源代码,但查看隐藏类将揭示为什么会出现这种情况。在进一步阅读相关代码时,它不会影响任何事情,因为流程对象只有一个副本。但是,一般来说,设置为null比删除要好。