怎么判断一个带有异步操作的递归函数的结束。
比如我使用 fs.readdir 通过递归的方法来遍历一个目录中有多少个文件。 那么我怎么判断这个函数的彻底终结,也就是说目录下所有的文件都已经遍历过了。
1 回复
其实很简单, 你作为扫描的第一层,你只需要你的第一层函数是否结束了即可。
例如,你作为扫描的第一层,你的第一层有4个文件夹
定义函
数:
scanDir
文件夹数组:
dirs
代码如下:
for(let dir of dirs) {
await scanDir(dir)
}
函数结束后,即所有的文件都已扫描