async/await

2017-2-8    分类: JavaScript笔记,前端资源

es7语法,主要作用让异步操作更简单,在Generator函数基础上优化得来

 

Generator 函数

var gen = function* () {
  var f1 = yield readFile('/etc/fstab');
  var f2 = yield readFile('/etc/shells');
};

 

调用:

gen().next()
gen().next()
gen().next()
...

 

 

async函数

var asyncReadFile = async function (){
  var f1 = await readFile('/etc/fstab');
  var f2 = await readFile('/etc/shells');
};

 

调用:

asyncReadFile()

 

async函数就是将 Generator 函数的星号(*)替换成async,将yield替换成await,仅此而已。
调用的方法也明显不同,Generator需要使用next()来一个个调用,而async跟普通函数调用一样

http://es6.ruanyifeng.com/?search=await&x=5&y=7#docs/async 

 

关于async更多了解,查看此案例更直接:async.html

修改后async.html