我有这样的代码,它引发了我的问题:
window.addEventListener('unhandledrejection', function(event) {
console.log("Registered unhandledrejection event");
}); /// event listener
var unhandleEvent = new PromiseRejectionEvent("unhandledrejection", {
promise: new Promise(function(a, b) {}),
reason: "404"
}); /// creating event of unhandled promise rejection
setTimeout(() => {
window.dispatchEvent(unhandleEvent)
}, 3000); /// calling our event
但是我们没有收到错误消息。为什么?如果您做同样的事情,但是明确地拒绝了诺言,我们会得到一个错误:
window.addEventListener('unhandledrejection', function(event) {
console.log("Registered unhandledrejection event");
}); /// event listener
var unhandleEvent = new Promise(function(a, b) {
b("301")
}); /// creating unhandled promise rejection
有什么原因会发生这种情况吗?
P.S。该错误未显示在代码段中,必须在浏览器控制台中查看。