fs模块实例

2019-11-18  本文已影响0人  Wrestle_Mania
fs.stat("upload", (err, stat) => {
  if (err) {
    fs.mkdir("upload", err => {
      if (err) throw err;
      console.log("upload目录创建成功");
    });
    return false;
  }
  console.log(stat.isDirectory());
});
(pre => {
  fs.readdir(pre, (err, files) => {
    if (err) throw err;
    let dirArr = [];
    (function getFile(i) {
      if (i === files.length) {
        console.log(dirArr);
        return false;
      }
      fs.stat(`${pre}/${files[i]}`, (err, stats) => {
        if (err) throw err;
        if (stats.isDirectory()) {
          dirArr.push(files[i]);
        }
        getFile(i + 1);
      });
    })(0);
  });
})("demo");

匿名自执行函数模拟for循环!!!

let arr = fs.readdirSync("demo");
let dirArr = [];
for (var i = 0; i < arr.length; i++) {
  let stats = fs.statSync(`demo/${arr[i]}`);
  if (stats.isDirectory()) {
    dirArr.push(arr[i]);
  }
}
console.log(dirArr);

同样能实现上面的效果,但是不明白其中的实现原理是怎样的

上一篇下一篇

猜你喜欢

热点阅读