递归删除目录
深度 先序 串联
let fs = require('fs');
function preSeriesDeep(dir,callback){
// 有儿子就删除儿子
// 儿子删除完毕后删除自己只想 第一层和第二层的关系
fs.stat(dir,function(err,statObj){
if(statObj.isFile()){
// 是文件删除即可
fs.unlink(dir,callback);
}else{
fs.readdir(dir,function(err,dirs){
// dirs 是读取到的儿子 // [b,1.js,e]
dirs = dirs.map(item=>path.join(dir,item));
let index = 0;
function next(){ // 取出第一个删除掉
if(index == dirs.length) return fs.rmdir(dir,callback)
let currentPath = dirs[index++];
// 删除当前第一个儿子 成功后删除第二个儿子
preDeep(currentPath,next);
}
next();
})
}
})
}
推荐阅读
- opencv|opencv C++模板匹配的简单实现
- Java|Java基础——数组
- ssh生成公钥秘钥
- 言情成长小说《后来》|目录
- typeScript入门基础介绍
- laravel框架泛解
- JavaScript|JavaScript之DOM增删改查(重点)
- 新一代Python包管理工具
- Java应该在哪里判断List是否为空
- C语言进阶栈帧示例详解教程