javascript - 处理未处理的承诺拒绝:onunhandledrejection 和 unhandledrejection 之间的区别
解决方案
JavaScript 中几乎每个窗口 EventListener 都是这种情况。例如,请参见下面的按键事件:
window.addEventListener("keypress", () => console.log("Key pressed!"));
window.onkeypress = () => console.log("Key pressed!");
将 EventListener 附加到窗口元素的两种方法之间的主要区别是:
- 使用“ addEventListener() ”方法,您将能够为单个事件订阅多个事件侦听器函数。
- 使用“ window.onunhandledrejection ”-属性,您只能为该属性分配一个功能,该功能将在同一事件上触发。因此,如果您稍后将另一个函数分配给该属性,它将覆盖您的初始分配。
例子:
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
也看看这个非常详细的答案,它解释了两种方法的优缺点!
推荐阅读
- python - 为什么可以直接访问__class__
- r - 具有最大 L2 范数的列
- go - 我的 Visual Studio 代码应用程序不断删除我导入的包
- css - 什么是只改变css中的一个元素而其他元素保持不变的正确方法
- regex - 我的 python 代码没有得到预期的结果。请检查
- javascript - 编译代码中的错误未在使用 mongodb 的 nodejs 中显示任何特定错误
- c# - 如何使用 c# 的 SqlCommand 获取 IDENT_CURRENT 结果?
- html - 如何使用父标签中的样式强制所有标签?
- c++11 - 将 RepeatedPtrField 分配给 protobuf 消息中的重复字段
- vbscript - 如何在不显示错误的情况下运行脚本