Node.js 进程未处理承诺喷射事件
原文:https://www . geesforgeks . org/node-js-process-unhandledprozerejection-event/
进程是 Node.js 中的全局对象,它跟踪并包含在机器上特定时间执行的特定 node.js 进程的所有信息。
每当承诺拒绝未被处理时,就会发出unhandled 落款 事件。NodeJS 向控制台发出关于未处理的错误警告的警告,并立即终止进程。NodeJS 进程全局有一个 unhandledRejection 事件。当未处理注射发生且承诺链中没有处理者处理时,该事件被触发。
*语法:*
process.on("unhandledRejection", callbackfunction)
*参数:*该方法取以下两个参数。
- *unhandled rejection:* is the name of the event emitted in the process.
- [T0】 callback function: 【T1] is the event handler for the event.
*返回类型:*该方法的返回类型为空。
*示例 1: 注册一个 unhandledRejection* 侦听器的基本示例。
index . js
// The unhandledRejection listener
process.on('unhandledRejection', error => {
console.error('unhandledRejection', error);
});
// Reject a promise
Promise.reject('Invalid password');
使用以下命令运行 index.js 文件:
node index.js
*输出:*
unhandledRejection Invalid password
*示例 2:* 为了演示unhandled rejection侦听器只会在您的链中没有承诺拒绝处理程序时执行。****
*index . js*
**// The unhandledRejection listener
process.on('unhandledRejection', error => {
// Won't execute
console.error('unhandledRejection', error);
});
// Reject a promise
Promise.reject('Invalid password')
.catch(err => console.error(err))**
*使用以下命令运行 *index.js 文件:****
**node index.js**
**输出:****
**Invalid password**
**注意: 如果您使用监听器或消费者功能处理取消处理投影,那么控制台的默认警告(上述示例中的取消处理投影警告)将不会打印到控制台。****
**参考:https://nodejs . org/API/process . html # process _ event _ unhandledreprojection****
版权属于:月萌API www.moonapi.com,转载请注明出处