使用node.js中的promise函数计算文件和目录的数量

时间:2019-06-28 18:43:42

标签: node.js

您的任务是创建一个JavaScript函数,该函数采用一个参数,即目录路径,遍历该路径并计算单个文件和目录的数量。如果遍历中出现任何目录,则也遍历该目录。您必须计算单个文件和目录的数量,直到所有文件和目录都计入给定目录内为止。

注意:给定目录将从计数中排除。

返回一个诺言,该诺言可解析包含2个属性的对象,如下所示:

第一个名为countDir的属性,其中包含给定目录内的目录数 第二个名为countFile的属性,包含给定目录内单个文件的计数 并使用messgae拒绝“如果遍历目录时发生错误”,如果发生任何错误

var fs=require("fs");
var path=require("path");
function test(file){
console.log(file);
return new Promise((resolve,reject)=>{
 fs.readdir(file,(error,data)=>{
  if(error){
    reject("Error occured while reading directory");}
    else{
      var countfile=0;
      var countdir=0;
    for(var i=0; i<data.length; i++){
      if((data[i].split("."))[1]){
        countfile++;}
      else{
        countdir++;
        }   
    }
    var obj={
      countDir:countdir,
      countFile:countfile
      }
    resolve(obj);
      }
  });
});

}

0 个答案:

没有答案