node.js会在请求后自行清理吗?

Kev*_*gue 6 node.js

我读到node.js是单线程的,因此它不会为每个http请求分叉新进程或启动新线程.但是http模块在关闭每个连接后是否有清理方法呢?例如,如果我在每次有人请求页面时在回调内创建一个对象,那么一旦响应被提供并且连接被关闭,该对象是否会被销毁?

Ray*_*nos 7

是的,这是因为范围界定.

http.createServer(function(res) {
  var localobject = new BigObject();
  ...
  res.end();
});
Run Code Online (Sandbox Code Playgroud)

一旦结束该函数,BigObject就不再使用,并被垃圾收集器清理干净.

  • 您还可以通过执行`localobject = null;`来加快速度 (2认同)