es 异步流程(三)之async/await篇

一、前言

在上一篇文章中我记录了 generator 的用法:es 异步流程(二)之generator篇

不了解generator语法的话,建议先看懂generator再看async。

generator和自动化执行器的配合已经使得异步编程非常地简洁了,但是还会有人觉得:“generator函数语义还不够直观,每次调用都需要用一次 执行器函数...”。

后来,在es2017中便出现了async/await 规范。async / await 并不是全新的东西,它只是generator的语法糖,它的底层依然是使用generator 和 promise 。

二、使用

1. async 函数格式

 与generator函数使用 " * " 不同,async 函数 使用 " async "来表示该函数是异步操作函数,语义相比" * "直观很多。

async function asyncFn(){
    ...
}

 另外,async函数的返回值是 Promise

async function asyncFn(){
	var r1 = 100;
	var r2 = 200;
	return r1 + r2;
}
asyncFn().then((res)=>{
	console.log(res); //输出:300
})

2. await

async 函数是内置执行器的,也就是说可以省略使用 co 这些库,大大方便了使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值