這個過程是 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
相關用法
- Node.js process.nextTick()用法及代碼示例
- jQuery UI dialog create(event, ui)用法及代碼示例
- jQuery UI dialog close(event, ui)用法及代碼示例
- jQuery UI dialog resizeStart(event, ui)用法及代碼示例
- jQuery UI dialog dragStop(event, ui)用法及代碼示例
- jQuery UI dialog dragStart(event, ui)用法及代碼示例
- jQuery UI dialog resize(event,ui)用法及代碼示例
- jQuery UI dialog open(event,ui)用法及代碼示例
- jQuery UI dialog focus(event,ui)用法及代碼示例
- Node.js Process message用法及代碼示例
- Node.js Process beforeExit用法及代碼示例
- Node.js Process warning用法及代碼示例
- Node.js Process uncaughtException用法及代碼示例
- Node.js Process multipleResolves用法及代碼示例
- Node.js Process exit用法及代碼示例
注:本文由純淨天空篩選整理自braktim99大神的英文原創作品 Node.js Process unhandledPromiseRejection Event。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。