javascript - nodejs中匿名函数看不懂的问题

查看:119
本文介绍了javascript - nodejs中匿名函数看不懂的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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);

这篇关于javascript - nodejs中匿名函数看不懂的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆