async js 返回值_干货丨ES7中的异步实现Async和Await

612edc2ed6660de137aeeeb88fb4966e.png

生成器这种方式需要编写外部的执行器,而执行器的代码写起来一点也不简单。

当然也可以使用一些插件,比如co模块来简化执行器的编写。

5370a7239d40b522341281da120ada44.gif

在ES7中,加入了async函数来处理异步。

它实际上只是生成器的一种语法糖而已,简化了外部执行器的代码,同时利用await替代yield,async替代生成器的(*)号。下面还是来看个例子:

async function delay(){ await new Promise((resolve) => {setTimeout(()=>{resolve()},2000)}); console.log("go on); } delay();

这个例子我们之前用生成器也写过,其中把生成器的(*)号被换成了async。

async关键字必须写在function的前面。如果是箭头

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值