You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express.js中通过req挂载的变量何时被销毁?

Express中req挂载变量的销毁时机
  • 挂载在req对象上的自定义变量(比如req.foo = bar),生命周期和当前HTTP请求的响应周期完全绑定:当本次请求的响应完全发送给客户端后,req对象会被标记为可回收,其上的变量也会随req对象被Node.js的垃圾回收机制清理。
  • 具体触发节点:当你调用res.end()、res.send()等结束响应的方法后,请求响应周期正式结束。此时只要req对象没有被其他长期存在的代码引用,垃圾回收器就会在合适时机回收该对象,同时销毁所有挂载的自定义变量。
  • 特殊情况:如果代码中存在未释放的req引用(比如将req缓存到全局变量、长期存活的闭包或数据库连接中),req对象及挂载变量会一直存在,直到这些引用被移除,才会被垃圾回收。

内容的提问来源于stack exchange,提问作者Anson Ng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 14:55:17