WorkerGlobalScope:rejectionhandled 事件

注意:此功能仅在Web Workers中可用。

rejectionhandled 事件发送到脚本的全局作用域(通常为WorkerGlobalScope),只要被拒绝的Promise在稍后被处理,即当处理程序在 promise 被拒绝导致unhandledrejection 事件后附加到 promise 时。

这可用于调试和提高应用程序的整体弹性,并与unhandledrejection 事件结合使用,该事件在 promise 被拒绝但当时没有处理程序处理拒绝时发送。

语法

在诸如addEventListener()之类的使用方法中使用事件名称,或设置事件处理程序属性。

js
self.addEventListener("rejectionhandled", (event) => {});
self.onrejectionhandled = (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 的浏览器中加载。

另请参阅