我认为以下代码可能有助于处理某些请求发生的异常:
var domain = require('domain');
app.use(function(req,res,next){
var d = domain.create();
d.on('error',function(err){
res.json({error: err.stack});
});
d.run(function(){
next();
});
});
然而,我读到这种类型的代码可能会泄漏内存。我不确定我理解为什么。有没有办法避免泄漏记忆?也许我应该在响应流关闭后手动删除域的所有事件处理和侦听器?如何允许域对象被垃圾回收?