gpt4 book ai didi

javascript - 全局未处理的拒绝处理程序

转载 作者:行者123 更新时间:2023-11-30 20:12:03 25 4
gpt4 key购买 nike

我正在使用 https://github.com/rtsao/browser-unhandled-rejection对于全局未处理的拒绝。

处理程序是这样注册的:

window.addEventListener('unhandledrejection', (params) => {

});

我不确定我应该如何处理这个 callback 中的 promise ?一切正常,每次都会调用此处理程序 promise失败并且 catch没有实现所以我得到 'Uncaught (in promise)' .

有没有办法处理 unhandledrejection 中失败的 promise ?所以它不会抛出 'Uncaught (in promise)'错误和代码在哪里 promise失败继续正常,好像 catch实现了吗?在 params我有权访问被拒绝的参数 promise但我不确定我应该如何处理它,或者它是否可能?

最佳答案

根据规范,该事件是可以取消的,所以可以添加

params.preventDefault(); // Note: `params` here is more idiomatically called `event`

到您的处理程序以防止默认操作。 (这可以防止 Chrome 上的“未处理的拒绝”警告,它在没有那个 polyfill 的情况下实现了这一点。)

示例没有 preventDefault:

window.addEventListener("unhandledrejection", event => {
console.log("Got the unhandledrejection event");
});
Promise.reject();
Look in the real browser console.

示例 preventDefault:

window.addEventListener("unhandledrejection", event => {
console.log("Got the unhandledrejection event");
event.preventDefault();
});
Promise.reject();
Look in the real browser console.

关于javascript - 全局未处理的拒绝处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52307863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com