async await let const 块作用域 模板字符串 方法属性的简写 箭头函数 promise
function getData(callback){ setTimeout(()=>{ var name='zhangsan' callback(name) },100) }
getData((name)=>{ console.log(name,'name') })
var p=new Promise((resolve,reject)=>{ var name='zhangsan' resolve(name) })
p.then(resp=>{ console.log(rep,'resp') })
async 将函数变成异步 await等待函数完后 用在异步函数里面 普通方法:function test(){ return 'nihao' }
定义一个isDir的方法判断一个资源到底是目录还是文件 async function isDir(path){ return new Promise((resove,reject)=>{
fs.stat(path,(error,stats)=>{ if(err){ consoe.log(err) reject(err) return; } if(stats.isDirectory()){ resolve(true)}else{ resolve(false)} })
}) }
function main(){ var path='./wwwroot' var dirArr=[] fs.readdir(path,async(err,data)=>{ if(err){ consoel.log(err) return } for(var i=0;i<data.length;i++){ if(await isDir(path+'/'+data[i])){ dirArr.push(data[i])} console.log(dirArr) })
} main()
以流的方式读取文件 const fs=require('fs')