gpt4 book ai didi

javascript - 隐式事件对象传入错误事件监听器

转载 作者:行者123 更新时间:2023-12-01 01:48:59 28 4
gpt4 key购买 nike

以这个 Javascript Promise 为例:

const loadImage = (src) => new Promise((resolve, reject) => {
const img = new Image();
img.addEventListener(`load`,()=>resolve(img));
img.addEventListener(`error`,(event)=>reject(event));
img.src=src;
});

有人告诉我

img.addEventListener('error', event => reject(event))

相同
img.addEventListener('error', reject)

是吗?您能解释一下隐式事件对象传递机制在Javascript中是如何工作的吗?

最佳答案

当您直接声明回调时:

img.addEventListener('error', event => reject(event));

您正在创建一个匿名函数,该函数接受一个传递给下一个函数的参数。我们可以命名这个匿名函数,例如:

const myFunc = argument => reject(argument);
img.addEventListener('error', myFunc);

所以这只是进一步传递的输入参数的代理。所以它可以被认为是一个可以减少的额外层,所以我们只使用 reject 而不是 myFunc 并得到相同的结果。

img.addEventListener('error', reject);

关于javascript - 隐式事件对象传入错误事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51734168/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com