在异步的环境中使用var很容易就出现问题,可以用let来解决,但也可以使用一个立即执行函数来迭代做这件事情
(function itarator(i){
if(i == files.length){
return;
}
//fs.stat是一个异步函数
fs.stat('./test/' + files[i], function(err, stats) {
if (stats.isDirectory()) {
dirs.push(files[i])
}
//异步函数处理完后再调用自己
itarator(i+1)
})
})(0)