WorkerGlobalScope:rejectionhandled 事件
注意:此功能仅在Web Workers中可用。
rejectionhandled
事件发送到脚本的全局作用域(通常为WorkerGlobalScope
),只要被拒绝的Promise
在稍后被处理,即当处理程序在 promise 被拒绝导致unhandledrejection
事件后附加到 promise 时。
这可用于调试和提高应用程序的整体弹性,并与unhandledrejection
事件结合使用,该事件在 promise 被拒绝但当时没有处理程序处理拒绝时发送。
语法
在诸如addEventListener()
之类的使用方法中使用事件名称,或设置事件处理程序属性。
js
self.addEventListener("rejectionhandled", (event) => {});
self.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 |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。