Я пытаюсь вставить базу данных каждый раз, когда завершается процесс моего узла.
Я знаю, что process.on('exit', [fn])
не может делать ничего асинхронного, поэтому я пытаюсь найти способ обойти это.
Я использую Sequelize, но независимо от ORM, это все же асинхронный вызов БД.Я попытался
process.on('exit', async () => {
console.log('Process terminating');
await Status.update({
running: 0,
}, {
where: {
name: 'myStatus'
}
});
process.exit();
});
, но, очевидно, это не работает, потому что мы не можем выполнять асинхронные операции при выходе.
Я видел несколько SO-решений этой проблемы (например, Howвыполнить асинхронную операцию при выходе ), но, похоже, должно быть более элегантное решение.Кроме того, я не уверен, что это отловит все события выхода.Я бы предпочел не устанавливать зависимость, которая заботится об этом либо.Есть ли собственный нодовый способ сделать это?