在node.js进程出口上发送GET请求



我想在退出进程之前使用GET请求发送一条电报消息。

我尝试了多种组合,但都不起作用。

process.stdin.resume();
function onExit () {
axios.get(`https://api.telegram.org/bot${config.telegram.BOT}/sendMessage`, {
params: {
chat_id: config.telegram.USER,
parse_mode: 'markdown',
text: 'message'
}
})
console.log('Exiting...')
process.exit()
}
['exit', 'SIGINT', 'SIGUSR1', 'SIGUSR2', 'uncaughtException', 'SIGTERM'].forEach((eventType) => {
process.on(eventType, onExit.bind(null, eventType));
})

它忽略axios的请求。我在这里做错了什么?我知道它应该只是同步的,但我在这里没有使用任何async/await。

它显示了精细的控制台日志";正在退出"但这都是

发生这种情况是因为axios.get是异步的并返回promise。试试这个:

function onExit () {
axios.get(`https://api.telegram.org/bot${config.telegram.BOT}/sendMessage`, {
params: {
chat_id: config.telegram.USER,
parse_mode: 'markdown',
text: 'message'
}
})
.then(_=>process.exit(),_=>process.exit());

console.log('Exiting...')
}

最新更新