В 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}));