PromiseRejectionEvent: promise 属性

PromiseRejectionEvent 接口的 promise 只读属性表示被拒绝的 JavaScript Promise。您可以检查事件的 PromiseRejectionEvent.reason 属性以了解为什么承诺被拒绝。

被拒绝的 JavaScript Promise,其拒绝未被处理。

示例

此示例侦听未处理的承诺,如果 reason 是一个具有 code 字段的对象,该字段包含文本“模块未准备就绪”,则它会设置一个空闲回调,该回调将重试无法正常执行的任务。

event.preventDefault() 被调用以指示承诺现在已被处理。

js
window.onunhandledrejection = (event) => {
  if (event.reason?.code === "Module not ready") {
    requestIdleCallback((deadline) => {
      loadModule(event.reason.moduleName).then(performStartup);
    });
    event.preventDefault();
  }
};

规范

规范
HTML 标准
# dom-promiserejectionevent-promise

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅