node.js域内存泄漏
我将一个新域附加到我的Express应用程序中的每个传入请求,就像在中一样 然而,我注意到我正在泄漏内存。当我在Chrome中做一个测试并检查它时,我注意到应该立即被丢弃的类实际上被旧域保留了下来 我是否应该做些什么来告诉node.js不要保留旧域?来自文档: domain.exit() exit方法退出当前域,将其从域堆栈中弹出。任何时候执行都要切换到不同异步调用链的上下文,确保退出当前域是很重要的。对退出的调用限定绑定到域的异步调用和I/O操作链的结束或中断 如果有多个嵌套域绑定到当前执行上下文,exit将退出该域中嵌套的任何域 调用exit只会更改活动域,而不会更改域本身。可以在单个域上调用任意次数的Enter和exitnode.js域内存泄漏,node.js,memory-leaks,node.js-domains,Node.js,Memory Leaks,Node.js Domains,我将一个新域附加到我的Express应用程序中的每个传入请求,就像在中一样 然而,我注意到我正在泄漏内存。当我在Chrome中做一个测试并检查它时,我注意到应该立即被丢弃的类实际上被旧域保留了下来 我是否应该做些什么来告诉node.js不要保留旧域?来自文档: domain.exit() exit方法退出当前域,将其从域堆栈中弹出。任何时候执行都要切换到不同异步调用链的上下文,确保退出当前域是很重要的。对退出的调用限定绑定到域的异步调用和I/O操作链的结束或中断 如果有多个嵌套域绑定到当前执行上
如果调用exit的域已被释放,exit将返回而不退出域。我正在查看源代码,似乎您应该删除域上的所有侦听器,并调用
d.exit()
。域是事件发射器,通常至少有一个错误事件侦听器。在请求/响应周期结束时,您需要删除该域实例的所有侦听器以进行清理。