async函数对比Generator函数

Posted 谢玉胜的技术文章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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而已 

以上是关于async函数对比Generator函数的主要内容,如果未能解决你的问题,请参考以下文章

async和Generator是一对好基友,且async是主动型

async(await)函数和 Generator 函数 区别

每天十分钟学好ES6--async和Generator是一对好基友

每天十分钟学好ES6--async和Generator是一对好基友

async函数解析

Generator与async/await与Generator的模拟