exports.getAllAlbums = function(callback){
fs.readdir("./upload", function(err,files){
var allAlbums = [];
(function iterator(i){
if(i == files.length){
callback(allAlbums);
return;
}
fs.stat("./upload/" + files[i],function(err,stats){
if(stats.isDirectory()){
allAlbums.push(files[i])
}
iterator(i + 1)
})
})(0);
})
}
今天看这个函数莫名的卡住了,最后括号里面的(0)是什么意思啊,拜托懂得多的告诉俺这运行顺序,下面是调用
file.getAllAlbums(function(allAlbums){
res.render("index",{
"albums" : allAlbums
});
})
立即执行函数的参数,
就是
function iterator(i){
//...
}
iterator(0);