Javascript “你能”吗;插入式;对铬合金未经处理的拒绝承诺?

Javascript “你能”吗;插入式;对铬合金未经处理的拒绝承诺?,javascript,google-chrome,promise,Javascript,Google Chrome,Promise,不久前,v8获得了()。这在Chrome中是一个很好的控制台错误,特别适用于您输入错误或忘记附加处理程序的情况: 我想添加一个处理程序,以便在发生这种情况时采取一些操作(例如,向错误报告服务报告),类似于未捕获异常模式: window.addEventListener("error", handler); 或者,我正在寻找任何一种机制,当承诺被拒绝但未在该勾号上处理时,我可以使用它自动调用某种回调。直到窗口。addEventListener('unhandledrejection',e=>…

不久前,v8获得了()。这在Chrome中是一个很好的控制台错误,特别适用于您输入错误或忘记附加处理程序的情况:

我想添加一个处理程序,以便在发生这种情况时采取一些操作(例如,向错误报告服务报告),类似于未捕获异常模式:

window.addEventListener("error", handler);

或者,我正在寻找任何一种机制,当承诺被拒绝但未在该勾号上处理时,我可以使用它自动调用某种回调。

直到
窗口。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.
}
但似乎我们必须修补
,然后
捕获
承诺。拒绝
,还有很多工作要做


在这种情况下,可能有人想编写一个polyfill来发出自定义
未处理的弹出
事件。

尝试
窗口。addEventListener(“未处理的弹出”,函数(e){})此处的好信息:@Jeff这些是ES2015指定的纯ol本地承诺,并在v8中实现。@BinaryMuse:。这些事件将成为标准,也将在Chrome中得到支持。如果你在承诺链的末尾添加了<代码> Cad()/<代码>,你不会得到你需要的吗?我不知道我们是否应该考虑DUPE在另一个方向上的关闭,而这一个对我来说似乎更好,并且有更多的可见性。在没有铬暴露这些v8内部的我们,这是最好的选择。