gpt4 book ai didi

javascript - 同步和递归文件系统文件查找

转载 作者:行者123 更新时间:2023-12-03 11:18:23 24 4
gpt4 key购买 nike

我有一个简单的问题:

我正在使用 Node.JS 编写一个命令行工具,用于使用 JSON 模式验证 JSON 文件。所以,现在我遇到一个问题,当想要获取所有模式时,我总是因为使用异步函数而“未定义”,但在其他情况下仅使用同步函数。

对于这个命令行工具,不需要异步。

有人可以帮助我并帮助我如何让它正常工作吗?

var getJSONSchemaFiles = function (dir) {
results2 = [];


var recursive = require('recursive-readdir');

recursive(dir, function (err, files) {
// Files is an array of filename
// console.log(files);

files.forEach(function (entry) {

if (entry.indexOf(".schema.json") > -1) {

results2.push(entry);

}
});
console.log(results2);

});

return results2;

};

我正在使用 npm“recursive-readdir”,但我认为我什至不需要 npm 来完成这种事情?

最佳答案

好的,这会同步枚举给定路径下的所有文件:

var fs = require('fs');

function recursiveReaddir(path) {
var stat = fs.lstatSync(path);
if(stat.isFile())
return [path];
if(!stat.isDirectory())
return [];
return [].concat.apply([], fs.readdirSync(path).map(function(fname) {
return recursiveReaddir(path + '/' + fname);
}));
}

关于javascript - 同步和递归文件系统文件查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27230944/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com