Предупреждение консоли не отображается при выполнении выхода в node.js
Я новичок в Node.js. Я реализовал \exit
ссылка на мой сайт. При просмотре вызывается следующая функция:
function exitRequest(req, res) {
res.setHeader('Content-Type', 'text/html');
res.send("<html><body>Bye</body></html>");
console.warn('%s: Exit requested.', Date(Date.now()) );
process.exit(0);
};
Страница отображается правильно и node.js
Сервер выключается, но предупреждение консоли не отображается. Тем не менее, звонки console.warn
успешны в других частях приложения. Я вижу сообщения в окне вывода.
Что может вызвать эту проблему?
1 ответ
Решение
Попробуйте отложить завершение процесса:
console.warn('%s: Exit requested.', Date(Date.now()));
process.nextTick(function() { process.exit(0); });
Или используя setTimeout
:
setTimeout(function() { process.exit(0); }, 0);
Если вы не хотите создавать новую анонимную функцию, вы можете использовать bind:
var exit = process.exit.bind(process, 0);
// Later...
process.nextTick(exit);