await原理 js_深入理解 JavaScript 异步系列(5)—— async await

本文介绍了ES7中的async/await,它是Generator的语法糖,简化了异步处理。通过对比Generator和async/await,展示了await只能跟Promise对象,执行返回Promise,并提升了代码可读性。在Node v7以后,原生支持async/await,但在v6中需借助babel。文章总结了异步编程的发展,从callback到async/await,体现了代码简洁性和易读性的提升。
摘要由CSDN通过智能技术生成

第一部分,ES7 中引入 async-await

前面介绍完了Generator的异步处理,可以说是跌跌撞撞,经过各种基础介绍和封装,好容易出了一个比较简洁的异步处理方案,学习成本非常高————这显然不是我们想要的!

因此,还未发布的 ES7 就干脆自己参照Generator封装了一套异步处理方案————async-await。说是参照,其实可以理解为是Generator的语法糖!

本节示例代码参照这里

本节内容概述

Generator和async-await的对比

使用async-await的不同和好处

接下来...

Generator和async-await的对比

先来一段Generator处理异步的代码,前面已经介绍过了,看不明白的再获取接着看。

co(function*() {

const r1= yield readFilePromise('some1.json')

console.log(r1)//打印第 1 个文件内容

const r2 = yield readFilePromise('some2.json')

console.log(r2)//打印第 2 个文件内容

})

再来一段async-await的执行代码如下,两者做一个比较。

const readFilePromise =Q.denodeify(fs.readFile)//定义 async 函数

const readFileAsync = async function() {

const f1= await readFi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值