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的处理会安排一个额外的微任务。
相关推荐
wyiyiyi20 分钟前
【Web后端】Django、flask及其场景——以构建系统原型为例
前端·数据库·后端·python·django·flask
gnip42 分钟前
vite和webpack打包结构控制
前端·javascript
excel1 小时前
在二维 Canvas 中模拟三角形绕 X、Y 轴旋转
前端
阿华的代码王国1 小时前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
一条上岸小咸鱼1 小时前
Kotlin 基本数据类型(三):Booleans、Characters
android·前端·kotlin
Jimmy1 小时前
AI 代理是什么,其有助于我们实现更智能编程
前端·后端·ai编程
Jerry说前后端2 小时前
RecyclerView 性能优化:从原理到实践的深度优化方案
android·前端·性能优化
画个太阳作晴天2 小时前
A12预装app
linux·服务器·前端
7723892 小时前
解决 Microsoft Edge 显示“由你的组织管理”问题
前端·microsoft·edge