async

天大地大妈咪最大 提交于 2019-12-05 12:22:43

async函数介绍:

async函数是ES2017引入的,是Generator函数的语法糖,将Generator函数中的*号替换为async,将yield替换为await。

特点:

1.不需要像Generator调用next方法,遇到await等待,当前的异步操作执行完成再往下执行

2.async的返回值是Promise对象,可以用.then进行下一步操作

3.语义明确,使用简单

基本使用:

例1:

 

由此可见,遇到await等待,异步操作完成后再执行后面的操作

例2:

在resolve中传参作为await的返回值

 

 例3:

还是之前用Promise和Generator解决过的问题:假设网易云音乐要根据点击的某首歌来获取该歌曲下面的评论,这就要求在请求一首歌曲的成功的回调中,再次请求评论

Promise解决:https://www.cnblogs.com/zxmonster/p/11895734.html

Generator解决:https://www.cnblogs.com/zxmonster/p/11923816.html

现在用async函数解决:

 

 

 总结:对比Promise、Generator和async三种解决异步操作的方法,async语法更加简洁易懂,推荐使用

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!