我相信,使用lodash写一个更短的方法(一行):
_.forEach(eventListeners, function(callback) {
callback(event);
})
Run Code Online (Sandbox Code Playgroud)
......但还找不到
Lodash提供了一个调用_.over的函数函数,它返回一个函数,然后可以调用该函数将一些参数传递给您提供的所有函数_.over
var funs = [
function(e) { console.log(e) },
function(e) { console.log(e*2) },
function(e) { console.log(e*3) }
];
_.over(funs)(10);
Run Code Online (Sandbox Code Playgroud)
这将调用funs数组中的所有函数10作为参数,因此在这种情况下,您应该在控制台中看到:
10
20
30
Run Code Online (Sandbox Code Playgroud)
在你的情况下具体:
_.over(eventListeners)(event);
Run Code Online (Sandbox Code Playgroud)