【发布时间】:2019-12-21 20:22:06
【问题描述】:
我在目录结构中递归搜索具有特定名称的文件。我想在找到该文件的第一个实例后立即中断。我怎样才能做到这一点?目前,即使在找到我要查找的文件的实例后,它仍在继续解析其余文件。
async function walkDir(dir: string, callback: Function) {
for (const f of await fs.readdir(dir)) {
const dirPath = path.join(dir, f);
if ((await fs.stat(dirPath)).isDirectory())
walkDir(dirPath, callback);
else if (callback(path.join(dir, f)))
return;
}
let foundFile = false;
await walkDir(startDir, function (f: string) {
console.log(f);
if (path.basename(f) === 'manifest.xml') {
foundFile = true;
return;
}
});
【问题讨论】:
标签: node.js typescript recursion fs