PromiseRejectionEvent - 表示拒绝 Promise 时发送到全局脚本上下文的事件
PromiseRejectionEvent 接口表示拒绝 JavaScript Promise 时发送到全局脚本上下文的事件。这些事件对于遥测和调试目的特别有用。
有关承诺拒绝事件的详细信息,请参见 承诺拒绝事件 in [Page not yet written].
构造函数
PromiseRejectionEvent()
使用给定事件的类型(unhandledrejection 或 rejectionhandled)和其他详细信息,创建一个 PromiseRejectionEvent 事件。
属性
还从其父接口 Event 继承了属性。
PromiseRejectionEvent.promise 只读
被拒绝的 JavaScript Promise。
PromiseRejectionEvent.reason 只读
传递给 Promise.reject() 的值或 Object 指示为什么拒绝承诺。
方法
该接口没有特有的方法;仅从其父接口 Event 继承了方法。
事件
rejectionhandled
当拒绝 JavaScript Promise 后,并在由 promise 的拒绝处理代码处理拒绝之后触发。
unhandledrejection
当 JavaScript Promise 被拒绝但没有拒绝处理程序来处理拒绝时触发。
实例
这个简单的实例捕获未处理的承诺拒绝,并将其记录下来以进行调试。
window.onunhandledrejection = function(e) {
console.log(e.reason);
}
规范
| 规范 | 状态 | 备注 |
|---|---|---|
| HTML Living Standard PromiseRejectionEvent 的定义 |
现行的标准 | 初始定义。 |
桌面浏览器兼容性
| 特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| 基础支持 | 49 | 未知 | 69 68 | 不支持 | 36 | 11 |
PromiseRejectionEvent() 构造函数 | 49 | 未知 | 69 68 | 不支持 | 36 | 11 |
promise | 49 | 未知 | 69 68 | 不支持 | 36 | 11 |
reason | 49 | 未知 | 69 68 | 不支持 | 36 | 11 |
移动浏览器兼容性
| 特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| 基础支持 | 49 | 49 | 未知 | 68 | 未知 | 36 | 11.3 |
PromiseRejectionEvent() 构造函数 | 49 | 49 | 未知 | 68 | 未知 | 36 | 11.3 |
promise | 49 | 49 | 未知 | 68 | 未知 | 36 | 11.3 |
reason | 49 | 49 | 未知 | 68 | 未知 | 36 | 11.3 |