【发布时间】:2015-09-25 18:34:37
【问题描述】:
不久前,v8 获得了capability to detect Promises that are rejected but have no handlers attached (commit)。这在 Chrome 中作为一个不错的控制台错误登陆,当您输入错误或忘记附加处理程序时尤其有用:
我想添加一个处理程序以在发生这种情况时采取一些措施(例如,向错误报告服务报告),类似于未捕获的异常模式:
window.addEventListener("error", handler);
或者,我正在寻找任何机制,当一个承诺被拒绝但未在该滴答时处理时,我可以使用该机制自动调用某种回调。
【问题讨论】:
-
试试
window.addEventListener("unhandledrejection", function(e) {});这里有很好的信息:github.com/petkaantonov/bluebird/blob/master/… -
@Jeff 这些是 ES2015 指定并在 v8 中实现的普通原生 Promise。
-
@BinaryMuse:github.com/domenic/unhandled-rejections-browser-spec。这些事件将成为标准,并且也将在 Chrome 中得到支持。
-
如果你在 Promise 链的末尾添加一个
catch(),你不会得到你需要的吗? -
我想知道我们是否应该考虑在另一个方向上进行欺骗关闭——这对我来说似乎更好,并且具有更高的知名度。
标签: javascript google-chrome promise