事件:'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'事件。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。