我看过一些看起来像这样的代码:
function printErr(err) {
console.error(err)
}
request.on('error', err => printErr)
这是如何工作的?我花了几个小时试图找出答案并在各处搜索。我知道printErr是一个带有要返回的函数的对象,但是让它将err参数放入函数并调用它的机制是什么?
我正在考虑以下方面:
function foo(callback){
callback()
}
request.on('error', err => foo)
但是它如何获得参数呢?
答案 0 :(得分:0)
这是箭头功能的简写。只要只有one argument
,即使没有parentheses
,我们也可以调用它,而=>
代表return
。当只有一行return
时,我们可以显式使用=>
进行返回,而不必使用return。
var a=e=>"hey";
console.log(a())
与上面相同
var a=(e)=>{return "hey"};
console.log(a())
答案 1 :(得分:0)
起初我很困惑,但这是因为我正在分析的代码是错误的。
简化
function print(data) {
console.log(data)
}
const foo = [1,2,3,4]
foo.forEach(x => print) // will not print and just return undefined.
foo.forEach(x => print(x)) // will print correctly