相关疑难解决方法(0)

node.js中的for循环和异步回调?

我是JavaScript和node.js的新手.我想遍历一个目录并将所有文件stat(不是其他目录)添加到数组中.如下所示,我的代码存在问题,因为在for循环结束后可能会调用回调,因此在回调方法中使用"i"变量将无效.但是代码应该如何看待下面的代码片段呢?它与闭合有关吗?

感谢帮助!

    fs.readdir(SYNCDIR, function(err1, files) {
        var filesOnly = [];

        if(!err1) {

            for(var i = 0; i < files.length; i++) {

                var imgFilePath = SYNCDIR + '/' + files[i];
                fs.stat(imgFilePath, function(stat){

                    if (stat.isFile()){
                        filesOnly[i] = stat; // This will not be correct since the for-loop has finished
                    }
                });

            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

asynccallback node.js

21
推荐指数
2
解决办法
1万
查看次数

标签 统计

asynccallback ×1

node.js ×1