Node.js Process未处理的Promise拒绝事件
process 是Node.js中的全局对象,用于跟踪和包含特定时间在机器上执行的特定Node.js进程的所有信息。
当一个Promise被拒绝但没有被处理时,会触发 unhandledRejection 事件。NodeJS会在控制台中警告未处理的Promise拒绝,并立即终止进程。NodeJS进程全局对象有一个 unhandledRejection 事件。该事件在未处理的拒绝发生时触发,且没有处理程序来处理它时。
语法:
参数: 此方法接受以下两个参数。
- unhandledRejection: 它是进程中的发射事件的名称。
- callbackfunction: 它是事件的事件处理程序。
返回类型: 此方法的返回类型为void。
示例1: 注册unhandledRejection监听器的基本示例。
index.js
使用以下命令运行 index.js 文件:
输出:
示例2: 为了证明当您的链上没有promise拒绝处理程序时,unhandledRejection监听器将只执行。
index.js
使用以下命令运行 index.js 文件:
输出:
注意: 如果您使用监听器或消费函数处理未处理的拒绝( unhandledRejection ),则默认的警告信息将不会打印到控制台(如上例中的 UnhandledPromiseRejectionWarning )。
参考: https://nodejs.org/api/process.html#process_event_unhandledrejection