采用以下示例:
window.addEventListener('unhandledrejection', function(e) {
console.error(e);
});
var p = new Promise(function(resolve, reject) {
console.log('start');
resolve();
});
p.bind(this).then(function() {
console.log('then');
//this.callfunction here
throw new Error('err');
});
我希望在unhandledrejection事件侦听器中捕获错误,并将错误输出到控制台。当.bind(this)
不在代码中但在使用时似乎吞下了错误时,这种方法很好。关于为什么会出现这种情况的任何解释都将非常感激。感谢。