我对NodeJS和JavaScript一般都很陌生。这里是我的脚本:为什么Nodejs的callback()无法访问回调范围之外的变量?
var fs = require('fs') ;
var temp = "???";
var test = function(){
fs.readdir("./", function(err,result){
temp = result; // i change the temp's value
console.log("inter result ....."+temp); // temp's value changed
setTimeout(pr,1000,"inter setTimeout: "+temp); // temp's value changed
});
}
var pr = function (str){
console.log("Print str: "+ str);
} ;
test();
setTimeout(pr,1000,"Out setTimeout print: "+temp); // Why here temp's value not change???
我怎样才能更改为回调以外的var temp的值?
的'readdir'回调可能执行*之后*了'setTimeout'回调... – 2012-01-31 23:17:26