function(path,callback){
fs.readdir(path,function(err,files){
if(err)
{
callback(err);
return;
}
var result=[];
for(var i=0;i<</span>files.length;i++)//这个for想将指定目录下的非文件夹给剔除
//只保留文件夹名到result中
{
fs.stat(path+"/"+files[i],function(err,stats){
if(stats.isDirectory())
result.push(files[i]);
}
callback(null,result);
)
}
})
}
例子中for 循环里有一个回调函数,在主函数执行过程中回调函数走异步执行。当i等于files.length时,主函数循环跳出,里面的回调函数有可能还在执行过程中。所以result 得不到想要的值。
这里我们需要用到 async模块