[Node.js]防止node自动退出

node执行完所有代码以后就会退出(部分监听服务除外),如果不希望node立刻退出,只要在任意位置加上一行

setInterval(function(){},9999999);//时间设置多少都没有关系,这只影响这个空回调函数的调用频率

node就不会退出了(除非出错

如果你希望即使是出错了,也不让Node退出,那么就需要加入以下事件监听器

process.on('uncaughtException',(err,origin)=>{//捕捉uncaughtException
	console.error('[uncaughtException]',err,origin);
});

process.on('unhandledRejection',(err,promise)=>{//捕捉unhandledRejection
	console.error('[unhandledRejection]',err);
});

加入这两个监听器之后,node遇到任何未捕捉的错误,都会交给第一个监听器处理,碰到任何未catch的异常Promise,都会交给第二个监听器处理,你可以在里面做些事情,比如打个日志之类的。

==========更新log===========

  • 2021/11/16: 加入出错时不退出的方法