【发布时间】:2019-11-07 07:37:21
【问题描述】:
我正在使用 node-crone 来安排我的工作。但我想在完成每项工作后清除内存。那我该怎么做呢?
【问题讨论】:
-
js中没有内存管理,你可以确保你创建的对象在代码的任何地方都没有被使用,然后垃圾收集器会释放它们。
-
它会自动发生。一旦你的工作完成,进程将被终止,垃圾收集器会处理它。
标签: javascript node.js cron
我正在使用 node-crone 来安排我的工作。但我想在完成每项工作后清除内存。那我该怎么做呢?
【问题讨论】:
标签: javascript node.js cron
如果您在 cron、函数或块范围内正确声明变量(例如 let),那么这些变量只有在该范围处于活动状态(即内存已清除)时才会存在。
例如:
var cron = require('node-cron');
cron.schedule('* * * * *', function(){
// y variable will be local to your function
let y = 2;
});
然后,每次函数运行结束时,Javascript 垃圾回收器都会清理这些变量,因为它们不再使用。
但是,如果您要声明它们,否则它们可以保留为全局变量,即使在函数完成后也可以保持活动状态。
例如:
var cron = require('node-cron');
cron.schedule('* * * * *', function(){
// y becomes a global variable
y = 2;
});
【讨论】: