当然这样的执行器在社区中已经有一个比较完善的库了co 。这种co
的方案在2015
年之前是特别流行的,后来在出了async/await
语法糖之后,这种方案相对来讲就没有那么普及了 。使用generator
这种方法最明显的变化就是异步调用回归到扁平化了
async/await有了generator
之后js
异步编程基本上与同步代码有类似的体验了,但是使用generator
这种异步方案还需要自己手动去写一个执行器函数,会比较麻烦 。在ES2017
的版本中新增了一个叫做async
的函数,它同样提供了这种扁平化的编程体验,并且是语言层面的标准的异步编程语法 。其实async
函数就是生成器函数更方便的语法糖,所以语法上给generator
函数是类似的 。
async function main() {try {const user1 = await ajax('/json1.json')console.log(user1)const user2 = await ajax('/json2.json')console.log(user2)const user3 = await ajax('/json3.json')console.log(user3)} catch (error) {console.log(error)}}main()
async
函数返回一个Promise
对象,更利于对整体代码控制
【生成器函数 javascript异步编程之generator与asnyc/await语法糖】promise.then(() => {console.log('all completed')}).catch(err => {console.log(err)})
原文地址: https://kspf.xyz/archives/21更多内容微信公众号搜索充饥的泡饭
小程序搜一搜开水泡饭的博客
经验总结扩展阅读
- 2022年12月30日腊八节开业好吗
- 为什么很少看见男生喝奶茶 经常喝奶茶对身体好吗
- 2023年大暑出生的男孩名字 大暑生的男孩取什么名字比较好
- 大暑出生的男孩名 必成大器的男孩名字
- 2023年大暑出生宝宝取名 2023年大暑出生宝宝名字
- 兔年大暑出生的女孩名字 大暑出生的女孩取名
- 未来一个月运势大旺得福星庇佑 迟早翻身享受生活的3大星座
- 夏至当天吃什么
- 本周开始四大星座转运发财 贵胄也多幸福的生活就在眼前
- 女生学什么专业好就业 哪些专业有前途