當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js Process unhandledPromiseRejection用法及代碼示例


這個過程是 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




相關用法


注:本文由純淨天空篩選整理自braktim99大神的英文原創作品 Node.js Process unhandledPromiseRejection Event。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。