Node.js 使用closure时内存泄漏

Node.js 使用closure时内存泄漏,node.js,memory-leaks,express,Node.js,Memory Leaks,Express,我使用的是express和node,我自己添加了一个中间件,将纯文本转换成json对象,代码如下: app.use(function(req, res, next){ var tmpJson =''; req.setEncoding('utf8'); req.on('data', function(chunk){ tmpJson += chunk; }); req.on('end', function(){ req.json = JSON

我使用的是express和node,我自己添加了一个中间件,将纯文本转换成json对象,代码如下:

app.use(function(req, res, next){
   var tmpJson ='';
   req.setEncoding('utf8');
   req.on('data', function(chunk){
       tmpJson += chunk;
   });
   req.on('end', function(){
       req.json = JSON.parse(tmpJson);
       next();
       tmpJson = null;
   });
});
此代码是否会导致内存泄漏?据我所知,当在end event的回调函数中使用req.json时,它会增加req的使用次数,这会使这个req永远不会被释放吗


如果它确实导致内存泄漏,我是否可以避免使用它

最重要的是,我不明白为什么需要这样做,bodyParser中间件会为您处理,不是吗?同意Louis的观点,但是如果您想避免这种情况,为什么不在req对象上设置块呢?这将被回收。bodyParser不能为我解析这个,实际上,当使用bodyParser时,它只返回{'string occurrent in chunks':},而不是将chunks中出现的字符串转换成我想要的json。