Window: rejectionhandled 事件
当被拒绝的 JavaScript Promise
延迟处理时(即在拒绝导致 unhandledrejection
事件后附加处理程序),rejectionhandled
事件将发送到脚本的全局作用域(通常为 window
,但也可能是 Worker
)。
这可以与 unhandledrejection
事件一起用于调试和实现应用程序弹性,当 promise 被拒绝但当时没有处理程序时,会发送 unhandledrejection
事件。
语法
在诸如 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}`);
},
false,
);
规范
规范 |
---|
HTML 标准 # unhandled-promise-rejections |
HTML 标准 # handler-window-onrejectionhandled |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。