WorkerGlobalScope: rejectionhandled 事件
注意:此功能僅在 Web Workers 中可用。
當一個被拒絕的 Promise 被延遲處理時(即,在拒絕導致 unhandledrejection 事件發生後才為其附加處理程式),該 rejectionhandled 事件會被髮送到指令碼的全域性作用域(通常是 WorkerGlobalScope)。
這可以與 unhandledrejection 事件結合使用,用於除錯和提高應用程式的整體容錯能力。unhandledrejection 事件在 Promise 被拒絕但當時沒有相應的處理程式時傳送。
語法
在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。
js
addEventListener("rejectionhandled", (event) => { })
onrejectionhandled = (event) => { }
事件型別
一個 PromiseRejectionEvent。繼承自 Event。
事件屬性
PromiseRejectionEvent.promise只讀-
被拒絕的
Promise。 PromiseRejectionEvent.reason只讀-
一個值或
Object,指示 Promise 被拒絕的原因,與傳遞給Promise.reject()的值相同。
示例
您可以使用 rejectionhandled 事件將 Promise 的拒絕及其拒絕原因記錄到控制檯。
js
self.addEventListener("rejectionhandled", (event) => {
console.log(`Promise rejected; reason: ${event.reason}`);
});
規範
| 規範 |
|---|
| HTML # handler-workerglobalscope-onrejectionhandled |
瀏覽器相容性
載入中…