Promise.all() 和 .map()连用

查找最大文件 

const FileSystem=require('./FilesSystem');
function(){
  return FileSystem.readDir(dir,'utf-8')
     .then(files=>{
        return Promise.all(files.map(file=>{
            return new Promise(resolve=>{
               fs.stat(path.join(dir,file),(err,stat)=>{
                   if(err) throw err;
                   if(stat.isDirectory()){
                       return resolve({
                          size:0
                       })
                   }
                   stat.file=file;
                   resolve(stat);
               })
            })
        }))
     })
     .then(stats=>{
        let biggest = stats.reduce((memo,stat)=>{
            if(memo.size<stat.size){
               return stat;
            }
            return memo;
        })
     })
 
}

猜你喜欢

转载自blog.csdn.net/weixin_40802058/article/details/88416761