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 |
浏览器兼容性
加载中…