promise & async await总结

promise

  • promise 有三种状态 等待(pedding),成功(resolve) 拒绝(reject)
  • promise.then 会等待promise内部resolve,并且promise的executor执行完,接着将.then里面的东西放入微任务队列。new promise.resolve().then(callback) callback也会放入微任务队列
  • promise.then()的返回值始终是一个新的promise对象。promise的状态是.then回调的返回值。
  • promise.then中的回调会等待前一个promise的resolve,前一个.then函数没返回值会等到执行完成之后自动resolve
  • Promise.then会立即返回一个状态为pending的新Promise对象,这正是它能够支持链式调用的关键。
  • new 的promise不会自动resolve,但是.then里面会自动resolve。

碰到.then 跳过 找同步代码执行完成 回来

catch跟then一样,都会将任务放入微任务队列中。

async await

  • await 会等待右侧的promise完成之后将剩余代码放入微任务队列。
  • async对显式返回创建的Promise的处理会安排一个额外的微任务。
相关推荐
Jolyne_9 小时前
antd Image base64缓存 + loading 态优化方案
前端
BINGCHN9 小时前
NSSCTF每日一练 SWPUCTF2021 include--web
android·前端·android studio
Z***u65910 小时前
前端性能测试实践
前端
xhxxx10 小时前
prototype 是遗产,proto 是族谱:一文吃透 JS 原型链
前端·javascript
倾墨10 小时前
Bytebot源码学习
前端
用户938169125536010 小时前
VUE3项目--集成Sass
前端
S***H28310 小时前
Vue语音识别案例
前端·vue.js·语音识别
啦啦91188611 小时前
【版本更新】Edge 浏览器 v142.0.3595.94 绿色增强版+官方安装包
前端·edge
蚂蚁集团数据体验技术11 小时前
一个可以补充 Mermaid 的可视化组件库 Infographic
前端·javascript·llm
LQW_home11 小时前
前端展示 接受springboot Flux数据demo
前端·css·css3