es2017 标准引入的async函数 使函数的异步更加便捷,优于Generator函数
将promise对象的异步 以同步的方式执行
语法糖
async function () {
await promise对象;
await promise对象;
console.info(123)
}
例:使用nodejs环境,模拟异步读取文件
const fs = require('fs');
var readAsync = function(filename) {
return new Promise((rs,rj)=> {
fs.readFile(filename,(err,db)=> {
if(err) {
rj(err)
throw err;
}
rs(db);
})
})
}
//异步函数
const readFie = async function() {
//awiat 等待执行一个promise异步程序
//awiat 的返回值 直接为异步的结果值 不需要我们单独使用then函数进行获取
const f1 = await readAsync("./fn.html");
console.info("程序执行完第一个");
const f2 = await readAsync("./webpack.config.js");
console.info("文件1",f1.toString().length);
console.info("文件2",f2.toString().length);
}
readFie();