gpt4 book ai didi

javascript - 使用什么代替 window.onunhandledrejection 来处理不同浏览器中的 promise 错误?

转载 作者:行者123 更新时间:2023-11-29 15:14:29 25 4
gpt4 key购买 nike

我正在尝试创建记录器来处理客户端上的错误并将它们发送到服务器。处理 promise 错误的最佳方法是什么(在 .then 中)?

我正在使用这段代码,它或多或少只能在 CHROME 中运行

window.onunhandledrejection = function(e) {
if (e && e.detail && e.detail.reason) {
this.sendErrorDetails('error', e.detail.reason.message)
}
}

它应该是单独的 logger.js 文件,它会自动捕获所有错误。

最佳答案

unhandledrejection 似乎是唯一的解决方案,只有Chrome and Safari has supported it (2018 年 10 月)。

或者,您可以改用 axios,您可以使用 response interceptor 作为全局错误处理程序,查看:

为了便于引用,下面是 axios 的自述文件中的代码片段副本:

// Add a request interceptor
axios.interceptors.request.use(function (config) {
// Do something before request is sent
return config;
}, function (error) {
// Do something with request error
return Promise.reject(error);
});

// Add a response interceptor
axios.interceptors.response.use(function (response) {
// Do something with response data
return response;
}, function (error) {
// Do something with response error
return Promise.reject(error);
});

关于javascript - 使用什么代替 window.onunhandledrejection 来处理不同浏览器中的 promise 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50565597/

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