【发布时间】:2019-06-16 16:56:36
【问题描述】:
我见过一些类似这样的代码:
function printErr(err) {
console.error(err)
}
request.on('error', err => printErr)
它是如何工作的?我花了几个小时试图弄清楚并到处寻找它。我知道 printErr 是一个带有正在返回的函数的对象,但是让它将 err 参数放入函数并调用它的机制是什么?
我的想法是:
function foo(callback){
callback()
}
request.on('error', err => foo)
但是它是如何得到参数的呢?
【问题讨论】:
-
它应该不起作用。
.on通常需要一个函数,其返回值被忽略;err => printErr是一个只返回另一个函数的函数。那里没有任何东西可以运行printErr。您确定您正确复制了示例吗?你能链接到你看到它的来源吗? -
你是对的。我认为这只是代码中的错误。我确实正确复制了示例。
标签: javascript lambda callback anonymous-function arrow-functions