当我用命名函数替换内联函数时,函数调用失败



为什么会运行以下代码:

someExpression.then((result)=>{
    console.log(util.inspect(result,{depth:null}));
    return result;
}))

,当这个函数有名字时,它没有:

function print(result) {
    console.log(util.inspect(result,{depth:null}));
    return result;
}
someExpression.then(print(result)))
与错误:

ReferenceError: result is not defined

在第二个示例中没有传递函数。你正在执行一个函数并传递它的结果。

正确的做法是:

someExpression.then(print)

最新更新