正确触发rejectionhandled事件的技巧
rejectionhandled 事件在 Promise 被拒绝,且没有 catch 块捕获时触发。要成功触发此事件,请注意以下关键点:
常见错误及排查
根据经验,以下情况容易导致 rejectionhandled 事件无法触发:
示例代码:演示如何正确触发事件
以下代码演示了在满足所有条件的情况下,如何正确触发 rejectionhandled 事件:
const myPromise = new Promise((resolve, reject) => { setTimeout(() => { reject(new Error("Promise Rejected!")); }, 200); // 使用setTimeout确保异步执行 }); window.addEventListener('rejectionhandled', (event) => { console.log('Rejection Handled:', event.reason); // 输出错误信息 }); // 故意不使用catch,让Promise拒绝不被捕获 setTimeout(() => { myPromise.then(result => console.log("Promise resolved:", result)); }, 100); // 确保在Promise拒绝后才执行
在这个例子中,rejectionhandled 事件会在 200 毫秒后触发,因为 Promise 被拒绝且没有被 catch 处理。 setTimeout 的使用确保了事件在宏任务环境下触发。
以上就是如何正确触发RejectionHandled事件?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号