我正在尝试创建记录器来处理客户端上的错误并将它们发送到服务器。处理承诺错误的最佳方法是什么(在.then中)?
我正在使用这个代码,它只在CHROME
中或多或少有效window.onunhandledrejection = function(e) {
if (e && e.detail && e.detail.reason) {
this.sendErrorDetails('error', e.detail.reason.message)
}
}
它应该是logger.js文件,它会自动捕获所有错误。
答案 0 :(得分:1)
unhandledrejection
似乎是唯一的解决方案,只有Chrome and Safari has supported it(2018年10月)。
或者,您可以使用axios
代替,使用响应拦截器作为全局错误处理程序,请查看:
以下是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);
});