为了账号安全,请及时绑定邮箱和手机立即绑定

拒绝处理不开火

拒绝处理不开火

qq_花开花谢_0 2021-08-26 15:33:03
我正在尝试使用,rejectionhandled但无法启动。下面的代码应该基于我能找到的所有文档工作。我注册了一个监听器,rejectionhandled然后拒绝一个承诺并抓住它。在启用了“测试”标志的 chrome 和 firefox 中,会记录但未“拒绝”。我错过了什么?window.addEventListener("rejectionhandled", e => console.log("rejected"), false);new Promise((resolve, reject) => setTimeout(reject, 1000)).catch(err => console.error("testing"))
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

rejectionhandled事件不会在每次处理的拒绝时触发,它只会在最初未处理的拒绝(导致unhandledrejectionevents)时触发,但随后确实附加了一个处理程序。

这些事件是从ECMAScript 规范中实现定义HostPromiseRejectionTracker的 HTML 实现中触发的,其注释说

HostPromiseRejectionTracker 在两种情况下被调用:

  • 当一个承诺在没有任何处理程序的情况下被拒绝时,它的操作参数被设置为“拒绝”。

  • 当一个处理程序第一次被添加到一个被拒绝的承诺时,它的操作参数被设置为“handle”。


查看完整回答
反对 回复 2021-08-26
  • 1 回答
  • 0 关注
  • 191 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信