Выключатель остановки Express.js
В Express.js, есть ли способ установить функцию обратного вызова, которая будет выполняться, когда приложение отключится?
Ответы
Ответ 1
Вы можете использовать node.js основной процесс 'exit' event следующим образом:
process.on('exit', function() {
// Add shutdown logic here.
});
Конечно, цикл основного события прекратит работу после возврата функции выхода, поэтому вы не можете планировать какие-либо таймеры или обратные вызовы из этой функции (например, любой ввод-вывод должен быть синхронным).
Ответ 2
Существует process.on('exit', callback):
process.on('exit', function () {
console.log('About to exit.');
});
Ответ 3
Если вам нужно получить доступ к чему-то в текущей области, вы можете bind()
как в этом ответе: fooobar.com/info/35124/..., но вы можете привязать this
.
function exitHandler(options, err) {
if (options.cleanup) console.log('clean');
if (err) console.log(err.stack);
if (options.exit) process.exit();
}
process.on('exit', exitHandler.bind(null,{cleanup:true}));