目录
article
Node.js 之在回调中实现闭包
Node.js 之在回调中实现闭包
function logCar(logMsg,callback){
process.nextTick(function(){
callback(logMsg);
});
}
var cars = ["Fettari","Porsche","Bugatti"];
for(var idx in cars){
var message = "Saw a " + cars[idx];
logCar(message, function(){
console.log("Normal Callback: " + message);
});
}
for(var idx in cars){
var message = "Saw a " + cars[idx];
(function(msg){
logCar(msg,function(){
console.log("Closure Callback: " + msg);
});
})(message);
}
执行结果:
Normal Callback: Saw a Bugatti
Normal Callback: Saw a Bugatti
Normal Callback: Saw a Bugatti
Closure Callback: Saw a Fettari
Closure Callback: Saw a Porsche
Closure Callback: Saw a Bugatti