Promise, async, await 的特性随笔

34 篇文章 1 订阅
7 篇文章 0 订阅
本文介绍了JavaScript中async/await的使用,强调了其作为Promise的语法糖特性。讲解了async函数的执行方式,await关键字如何等待Promise解决,并通过实例说明了错误处理和与Promise.then的对比。帮助开发者理清async/await的执行流程和错误处理机制。
摘要由CSDN通过智能技术生成

昨天有个小猪问我 async/await 的问题, 说是怎么调也调不出想要的结果, 调着调着头都懵了
扭头过去看了一下, 果不其然, 一层套一层简直比俄罗斯还套娃



不过只要静下心来, 对照着下面的几点特性慢慢看, async/await 还是很好理解的



  • Promise 对象不需要用 () 调用
  • 实例化 Promise 时, 第一个传入的 function 会马上执行了
var _promise = new Promise(function() { /* 这里直接就执行了 */ })
  • async 函数还是函数, 用 () 执行后才是 Promise 对象
  • (await _promise) 是 _promise 报 resolve 时传回来的内容
  • await 只能在 async 函数中使用
  • await 后跟一个 promise 对象会阻塞代码, 直到 promise 报 resolve; 不是 promise 对象则不作处理
  • await 后跟的代码无论是什么都会马上执行, 是 promise 对象时, 阻塞的是后面的代码
  • await 后跟的 promise 报 reject 时, 代码报错
  • _promise 报 resolve 时 await _promise 和 _promise.then() 差不多
console.log(await _promise)

_promise.then(function(params) {
	console.log(params)
})
  • _promise 报 reject 时 await _promise 报错, 结合 try…catch 和 _promise.catch() 差不多
try {
	await _promise
} catch(error) {
	console.log(error)
}

_promise.catch(function(params) {
	console.log(params)
})

end

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值