Mic*_*ley 9 javascript google-chrome promise
不久前,v8获得了检测被拒绝但没有附加处理程序(提交)的Promises的功能.这在Chrome中作为一个很好的控制台错误登陆,特别适用于当您输入错误或忘记附加处理程序时:
我想添加一个处理程序来执行某些操作(例如,向错误报告服务报告),类似于未捕获的异常模式:
window.addEventListener("error", handler);
Run Code Online (Sandbox Code Playgroud)
或者,我正在寻找任何机制,当一个promise被拒绝但是没有在那个tick上处理时,我可以用它来自动调用某种回调.
在window.addEventListener('unhandledrejection', e => ...)
此之前,您可以破解自己的 Promise 构造函数,该构造函数创建原始 Promise 并调用catch
它传递:
error => {
var errorEvent = new ErrorEvent('error', {
message: error.message,
error: error
});
window.dispatchEvent(errorEvent); // For error listeners.
throw error; // I prefer to see errors on the console.
}
Run Code Online (Sandbox Code Playgroud)
但看来我们必须修补then
,catch
而且Promise.reject
还需要做大量的工作。
在这种情况下,有人可能想编写一个 polyfill 来发出自定义unhandledrejection
事件。
归档时间: |
|
查看次数: |
451 次 |
最近记录: |