在MDN
中,当未处理承诺拒绝时会触发两个事件。
它们都具有相同的兼容性,所以我想知道onunhandledrejection和unhandledrejection之间有什么区别?
答案 0 :(得分:2)
JavaScript中几乎每个窗口EventListener都是这种情况。 例如,请参见下面的按键事件:
window.addEventListener("keypress", () => console.log("Key pressed!"));
window.onkeypress = () => console.log("Key pressed!");
将EventListener附加到window元素的两种方法之间的主要区别是:
示例:
window.addEventListener("keypress", () => console.log("Key pressed! Listener 1"));
window.addEventListener("keypress", () => console.log("Key pressed! Listener 2"));
window.onkeypress = () => console.log("Key pressed! Listener 3");
window.onkeypress = () => console.log("Key pressed! Listener 4");
// If the user presses any key, the Events will be triggered in the order of assignment.
// The console output would be:
// Key pressed! Listener 1
// Key pressed! Listener 2
// Key pressed! Listener 4
也可以看看这个非常详细的answer,它解释了这两种方法的优缺点!