我有一个快速应用程序,我使用收到的每个请求的域名。我已经添加了一个中间件来确保任何进一步的中间件都在域内“执行”。是否需要处理node.js域名?何时完成?
app.use(function(req, res, next) {
var d = domain.create();
d.req = req;
d.add(req);
d.add(res);
d.run(next);
});
此外,一些代码,同时请求被处理被执行使用process.domain.req
去初始请求一个参考,它的头,饼干等...我这样做的原因:”我无法通过req
直接到此代码。这个奇怪的代码是一种跨环境的代码(对于浏览器和节点),它不知道它在哪里执行。在底层,Node和浏览器实现了不同的基础层,特别是网络代码。对于浏览器来说,它是一个XMLHttpRequest,对于NodeJS来说,它是一个基于request
库的自定义包装。
我很担心内存泄漏。该文件引用了存储在域中的req
。他们可以保留这些东西,让他们不被垃圾收集?
另外,我是否需要定期处理域名,还是需要在某些边缘/错误情况下处理它们?