javascript - nodejs中匿名函数看不懂的问题
ringa_lee
ringa_lee 2017-04-11 12:23:00
[JavaScript讨论组]

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

ringa_lee

全部回复(3)
PHPz

立即执行函数的参数,
就是
function iterator(i){
//...
}
iterator(0);

怪我咯
(function(){})(); 这个是创建一个函数并且立即执行的意思,当然也可以这样写(function(){}()),
(0)就是传入一个参素0
黄舟

iterator(0)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号