async函数对比Generator函数

首先定义一个读取文件的异步函数

var readFile  = function(fileName){
    return new Promise((resolve,reject)=>{
     fs.readFile(filename,(data,data)=>{
            if(error) reject(error);
            resolve(data)l
    })
 })
}
var gen = function* (){
    var f1 = yield readFile("./ect")
    var f2 = yield readFile("./ect2") ;
    console.log(f1.toString())
   console.log(f2.toString())     
}

 采用async的写法:

var asyncReadFile = async function(){
   var f1  = await readFile("./etc");
   var f2 = await readFile("./ect2");
   console.log(f1.toString())
   console.log(f2.toString())    
}

 可以发现的是 async函数就是将Generator函数的*号改成async 将yiled改成 await而已 

原文地址:https://www.cnblogs.com/allenxieyusheng/p/8985123.html