事件:'warning'
添加于:v6.0.0
参数
warning
<Error>警告的关键属性是:
每当 Node.js 发出进程警告时,都会发出 'warning'
事件。
进程警告类似于错误,因为它说明了引起用户注意的异常情况。但是,警告不是正常 Node.js 和 JavaScript 错误处理流程的一部分。每当检测到可能导致sub-optimal 应用程序性能、错误或安全漏洞的不良编码实践时,Node.js 都会发出警告。
import process from 'node:process'; process.on('warning', (warning) => { console.warn(warning.name); // Print the warning name console.warn(warning.message); // Print the warning message console.warn(warning.stack); // Print the stack trace });
const process = require('node:process'); process.on('warning', (warning) => { console.warn(warning.name); // Print the warning name console.warn(warning.message); // Print the warning message console.warn(warning.stack); // Print the stack trace });
默认情况下,Node.js 会将进程警告打印到 stderr
。 --no-warnings
命令行 选项可用于抑制默认控制台输出,但 'warning'
事件仍将由 process
对象发出。
以下示例说明了在向事件添加了太多侦听器时打印到 stderr
的警告:
$ node
> events.defaultMaxListeners = 1;
> process.on('foo', () => {});
> process.on('foo', () => {});
> (node:38638) MaxListenersExceededWarning: Possible EventEmitter memory leak
detected. 2 foo listeners added. Use emitter.setMaxListeners() to increase limit
相比之下,以下示例关闭默认警告输出并将自定义处理程序添加到 'warning'
事件:
$ node --no-warnings
> const p = process.on('warning', (warning) => console.warn('Do not do that!'));
> events.defaultMaxListeners = 1;
> process.on('foo', () => {});
> process.on('foo', () => {});
> Do not do that!
--trace-warnings
命令行 选项可用于使警告的默认控制台输出包括警告的完整堆栈跟踪。
使用 --throw-deprecation
命令行 标志启动 Node.js 将导致自定义弃用警告作为异常抛出。
使用 --trace-deprecation
命令行 标志将导致自定义弃用与堆栈跟踪一起打印到 stderr
。
使用 --no-deprecation
命令行 标志将禁止报告自定义弃用。
*-deprecation
命令行 标志仅影响使用名称 'DeprecationWarning'
的警告。
相关用法
- Node.js tls.Server 'keylog'事件用法及代码示例
- Node.js http.Server 'clientError'事件用法及代码示例
- Node.js cluste 'disconnect'事件用法及代码示例
- Node.js proces 'exit'事件用法及代码示例
- Node.js stream.Writable 'pipe'事件用法及代码示例
- Node.js stream.Readable 'end'事件用法及代码示例
- Node.js cluste 'fork'事件用法及代码示例
- Node.js stream.Writable 'unpipe'事件用法及代码示例
- Node.js Http2Session 'remoteSettings'事件用法及代码示例
- Node.js Worker 'listening'事件用法及代码示例
- Node.js tls.Server 'resumeSession'事件用法及代码示例
- Node.js InterfaceConstructor 'pause'事件用法及代码示例
- Node.js fs.FSWatcher 'change'事件用法及代码示例
- Node.js stream.Readable 'data'事件用法及代码示例
- Node.js http.ClientRequest 'connect'事件用法及代码示例
- Node.js proces 'uncaughtException'事件用法及代码示例
- Node.js Http2Session 'localSettings'事件用法及代码示例
- Node.js REPLServer 'exit'事件用法及代码示例
- Node.js cluste 'online'事件用法及代码示例
- Node.js tls.TLSSocket 'session'事件用法及代码示例
- Node.js Worker 'exit'事件用法及代码示例
- Node.js cluste 'exit'事件用法及代码示例
- Node.js Http2Stream 'trailers'事件用法及代码示例
- Node.js MessagePort 'close'事件用法及代码示例
- Node.js http.ClientRequest 'information'事件用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 'warning'事件。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。