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当作一轮循环来执行了。

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

相关推荐
wearegogog1232 小时前
基于 MATLAB 的卡尔曼滤波器实现,用于消除噪声并估算信号
前端·算法·matlab
Drawing stars2 小时前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
品克缤2 小时前
Element UI MessageBox 增加第三个按钮(DOM Hack 方案)
前端·javascript·vue.js
小二·2 小时前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
小沐°2 小时前
vue-设置不同环境的打包和运行
前端·javascript·vue.js
Irene19913 小时前
Vue3 <Suspense> 使用指南与注意事项
vue.js·suspense
qq_419854053 小时前
CSS动效
前端·javascript·css
烛阴3 小时前
3D字体TextGeometry
前端·webgl·three.js
桜吹雪3 小时前
markstream-vue实战踩坑笔记
前端
南村群童欺我老无力.4 小时前
Flutter应用鸿蒙迁移实战:性能优化与渐进式迁移指南
javascript·flutter·ci/cd·华为·性能优化·typescript·harmonyos