当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js Process unhandledPromiseRejection用法及代码示例


这个过程是 Node.js 中的全局对象,它跟踪并包含在机器上特定时间执行的特定 node.js 进程的所有信息。

每当未处理承诺拒绝时,就会发出 unhandledRejection 事件。 NodeJS 警告控制台 UnhandledPromiseRejectionWarning 并立即终止进程。 NodeJS 进程全局有一个 unhandledRejection 事件。当 unhandledRejection 发生并且承诺链中没有处理程序来处理它时,会触发此事件。

用法:

process.on("unhandledRejection", callbackfunction)

参数:此方法采用以下两个参数。

  • unhandledRejection:它是流程中的emit事件的名称。
  • callbackfunction:它是事件的事件处理程序。

返回类型:此方法的返回类型为void。



范例1:注册 unhandledRejection 侦听器的基本示例。

index.js


// The unhandledRejection listener
process.on('unhandledRejection', error => {
    console.error('unhandledRejection', error);
});
  
// Reject a prromise
Promise.reject('Invalid password');

使用以下命令运行index.js文件:

node index.js

输出:

unhandledRejection Invalid password

范例2:为了证明 unhandledRejection 侦听器仅在您的链中没有承诺拒绝处理程序时才会执行。

index.js


// The unhandledRejection listener
process.on('unhandledRejection', error => {
    // Won't execute
    console.error('unhandledRejection', error);
});
  
// Reject a prromise
Promise.reject('Invalid password')
    .catch(err => console.error(err))

使用以下命令运行index.js文件:

node index.js

输出:

Invalid password

注意:如果您使用侦听器或消费者函数处理 unhandledRejection,则控制台的默认警告(上述示例中的 UnhandledPromiseRejectionWarning)将不会打印到控制台。

参考: https://nodejs.org/api/process.html#process_event_unhandledrejection




相关用法


注:本文由纯净天空筛选整理自braktim99大神的英文原创作品 Node.js Process unhandledPromiseRejection Event。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。