node把异步变为同步的方法
这次我们用遍历文件夹push进数组做案例
var http = require("http");
var fs = require("fs");
var server = http.createServer(function(req,res){
//不处理小图标
if(req.url == "/favicon.ico"){
return;
}
//stat检测状态
fs.readdir("./album/",function(err,files){
//files是个存放文件(夹)名的数组,并不是文件的数组,./album这个文件夹中的所有东西
//包括文件、文件夹
var wenjianjia = [];
(function iterator(i){
if( i == files.length){
console.log(wenjianjia);
return;
}
fs.stat("./album/" + files[i],function(err,stats){
//检测成功之后做的事情
if(stats.isDirectory()){
//如果是文件夹,那么放入数组,不是的话什么也不做
wenjianjia.push(files[i]);
}
iterator(i + 1);
});
})(0);
});
res.end();
});
server.listen(3000,"127.0.0.1");