У меня есть приложение Express, и я использую домены на каждый полученный запрос. Я добавил промежуточное программное обеспечение, чтобы гарантировать, что любые дополнительные посредники выполняются «внутри» домена.Должны ли быть удалены узлы 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
прямо на этот код. Этот странный код является своего рода кодом межсетевой среды (для браузера и для узла), который не знает, где он выполняется. Под капотом некоторые базовые слои реализованы по-разному для узла и для браузера, особенно для сетевого кода. Для браузера это XMLHttpRequest, а для NodeJS это настраиваемая оболочка на основе request
lib.
Я беспокоюсь о утечке памяти. Это ссылки на req
, хранящиеся в домене. Могут ли они сохранить это и не собирать мусор?
Кроме того, мне нужно регулярно размещать домены, или мне нужно их утилизировать в некоторых случаях с ошибками/ошибками?