"函数式编程仅描述对程序输入执行的操作,而不使用临时变量存储中间结果。"
问题在于如何应用函数式编程并使用利用回调的异步模块。 有些情况下,您希望回调访问一个由调用异步参考的函数引入的变量,但回调的签名已经定义。
例如:
function printSum(file,a){
//var fs =....
var c = a+b;
fs.readFile(file,function cb(err,result){
print(a+result);///but wait, I can't access a......
});
}
当然我可以访问a,但这将违背纯函数式编程范式。
a
。它被绑定在一个 闭包 中。 - hvgotcodes