javascript 面向未来的async函数

60 篇文章 0 订阅
55 篇文章 1 订阅

可以看到我们仍然需要书写一些样板代码,所以我们此时需要一个async函数能够管理所有promise函数的调用,还要管理所有向生成器发送的请求。虽然我们可以在代码中只书写一次这个过程,然后每次需要的时候对其进行复用,但如果我们完全不用关心这个问题就更好了。负责JavaScript的人们也注意到了将生成器和promise相结合的强大效果,因而他们也希望直接借助语言层面来支持这个特性,从而使我们开发更加便捷。

因此在这种形势下,当前的javascript标准新增两个关键字,用于替代样板代码:

(async function () {
  try {
    const ninjas = await getJSON('data/ninjas.json');
    const missions = await getJSON(mission[0].missionsUrl);
    
    console.log(missions);
  } catch (e) {
    console.log('Error:' + e);
  }
})()

通过关键字function 之前使用关键字async,可以表明当前的函数依赖一个异步返回的值。在每个调用异步任务的位置上,都要放置一个await关键字,用来告诉JavaScript引擎,请不要阻塞应用执行的情况下在这个位置等待执行结果。

 

参考《JavaScript忍者秘籍》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值