Window:rejectionhandled 事件
當一個被拒絕的 JavaScript Promise 被延遲處理時,即在 Promise 被拒絕並導致 unhandledrejection 事件之後才附加處理程式時,rejectionhandled 事件會被髮送到指令碼的全域性作用域(通常是 window,但也可能是 Worker)。
這可以與 unhandledrejection 事件(當 Promise 被拒絕但在當時沒有處理程式時傳送)結合使用,用於除錯和一般的應用程式彈性。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("rejectionhandled", (event) => { })
onrejectionhandled = (event) => { }
事件型別
一個 PromiseRejectionEvent。繼承自 Event。
事件屬性
PromiseRejectionEvent.promise只讀-
被拒絕的 JavaScript
Promise。 PromiseRejectionEvent.reason只讀-
一個值或
Object,指示 Promise 被拒絕的原因,與傳遞給Promise.reject()的值相同。
事件處理程式別名
除了 Window 介面,事件處理程式屬性 onrejectionhandled 也可在以下目標上使用:
示例
您可以使用 rejectionhandled 事件將那些被拒絕的 Promise 及其被拒絕的原因記錄到控制檯。
js
window.addEventListener("rejectionhandled", (event) => {
console.log(`Promise rejected; reason: ${event.reason}`);
});
規範
| 規範 |
|---|
| HTML # 未處理的 Promise 拒絕 |
| HTML # 處理程式-window-onrejectionhandled |
瀏覽器相容性
載入中…