你必须知道的,async/await 实现异步流程控制

async/await

async其实是ES7的才有的关键字,放在这里说,其实是和我们前面所说的Promise,Generator有很大关联的。async的意思是"异步",顾名思义是有关异步操作有关的关键字。
而且 async/await 是Generator yield 的语法糖
具体参考 阮老师的 es6入门

  • 我们这里就展示一下async/await的实际作用
async
const helloFn = async () => {
   
	return "helloAsync"
}
console.log(helloFn)//Promise {<resolved>: "helloAsync"}

可以看到 经过async 包装后的函数 返回一个promise 对象
既然是返回的Promise对象,我们就是用then方法来处理。

const helloFn = async () => {
   
	return "helloAsync"
}
helloFn ()
.then(s => {
   
	console.log(s)//helloAsync
})

是不是很简单,就是一个promise 而已是如何实现 异步控制的呢?

await

在Generator中yield关键字,yield关键字只能使用在Generator函数中,同样,await关键字也不能单独使用,是需要使用在async方法中。 await字面意思是"等待",那它是在等什么呢?它是在等待后面表达式的执行结果。

  • 请看下面这段示例代码,我们用定时器来模拟异步的情况
function testAwait(){
   
   return new Promise((resolve) => {
   
          
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值