Node.js 是否有任何方法可以获取NodeJS中的所有流程事件?

Node.js 是否有任何方法可以获取NodeJS中的所有流程事件?,node.js,express,events,Node.js,Express,Events,例如,不要监听如下所示的特定错误: process.on('unhandledRejection',r=>{ console.error('tracing unhandledRejection:'); 控制台错误(r响应); }); 我想获取所有流程事件,然后通过配置筛选出我想要的事件。 我正在研究的目标行为: process.on('events',event=>{ 如果(事件为“unhandledRejection”){ doSomething(); } else if(事件为“uncau

例如,不要监听如下所示的特定错误:

process.on('unhandledRejection',r=>{
console.error('tracing unhandledRejection:');
控制台错误(r响应);
});
我想获取所有流程事件,然后通过配置筛选出我想要的事件。 我正在研究的目标行为:

process.on('events',event=>{
如果(事件为“unhandledRejection”){
doSomething();
}
else if(事件为“uncaughtException”){
doSomethingElse();
}
否则{
忽略();
}
});

参考资料:

在文档中,流程是一个扩展“EventEmitter”的类。您似乎无法列出或访问所有“进程”事件

基本上,EventEmitter类有一个.listeners()方法,该方法列出了所有打开的侦听器,但是如果希望在.listeners()方法上添加侦听器,则需要先添加它

如果您真的想使用“自定义”和“丑陋”方法,可以执行以下操作:

const events = ["beforeExit", "rejectionHandled", "uncaughtException", "exit"]; // list all the process events here...

events.forEach((eventName) => {
    console.log('listening on ', eventName);
    process.on(eventName, (...args) => {
        console.log('event ' + eventName + ' was called with args : ' + args.join(','));
    });
});

// quit process with exit code for example
process.exit(5);

// will be print :
// listening on  beforeExit
// listening on  rejectionHandled
// listening on  uncaughtException
// listening on  exit
// event exit was called with args : 5

对于流程事件,您可以在此处找到它们: