怎么判断一个带有异步操作的递归函数的结束。
发布于 5 年前 作者 dstyxy 3149 次浏览 来自 问答

比如我使用 fs.readdir 通过递归的方法来遍历一个目录中有多少个文件。 那么我怎么判断这个函数的彻底终结,也就是说目录下所有的文件都已经遍历过了。

1 回复

其实很简单, 你作为扫描的第一层,你只需要你的第一层函数是否结束了即可。

例如,你作为扫描的第一层,你的第一层有4个文件夹 定义函 数: scanDir

文件夹数组:

dirs

代码如下:

for(let dir of dirs) {
	await scanDir(dir)
}

函数结束后,即所有的文件都已扫描

回到顶部