promise的多个then的事件循环顺序

js 复制代码
new Promise((resolve, rejcet) => {
  console.log('promise1');
  resolve();
}).then(() => {
  console.log('then11');
  new Promise((resolve, reject) => {
    console.log('promise2');
    resolve();
  }).then(() => {
    console.log('then21');
  }).then(() => {
    console.log('then23');
  })
}).then(() => {
  console.log('then12');
})

我以为then是同时执行的,即异步。其实then是同步的,只能一个个执行,等待一个执行完毕了才能走下一个

他这里两个then,就是说,不会一次一起执行then,把then里面的东西放入微任务,而是把一个then当作一轮循环来执行了。

的确,不了解的话,写代码容易出现执行顺序不对的问题

相关推荐
sorryhc8 分钟前
Vite开发环境按需编译是怎么实现的?
前端·javascript·vite
nnnnna25 分钟前
props 、emits 、组件上的v-model(详细版)
前端·javascript
三年三月28 分钟前
Tailwind CSS 入门介绍
前端
余生H34 分钟前
前端技术新闻(WTN-1):React.js & Next.js 爆出 CVSS 10.0 级严重漏洞,历史风险回顾与代码级深度分析
前端·javascript·react.js
1024肥宅37 分钟前
JavaScript 原生方法实现:数学与数字处理全解析
前端·javascript·ecmascript 6
烟袅42 分钟前
深入理解 JavaScript 内存机制与闭包原理
前端·javascript
烟袅1 小时前
JavaScript 内存三空间协同机制:代码空间、栈空间与堆空间如何联合运行
前端·javascript
lqj_本人1 小时前
DevUI高频组件(Form 组件)深度用法与避坑指南
前端·javascript
live丶1 小时前
从零实现一个低代码 H5 页面编辑器(Vue3 + 拖拽)
前端·vue.js
码界奇点1 小时前
基于Django REST framework与Vue的前后端分离后台管理系统设计与实现
vue.js·后端·python·django·毕业设计·源代码管理