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

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

相关推荐
boombb3 分钟前
国际化方案:多环境、多语言、动态加载的完整实践
前端
醒了接着睡4 分钟前
Vue中的watch
vue.js
狗哥哥4 分钟前
我是如何治理一个混乱的 Pinia 状态管理系统的
前端·vue.js·架构
一 乐20 分钟前
物业管理|基于SprinBoot+vue的智慧物业管理系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot
测试人社区—527224 分钟前
你的单元测试真的“单元”吗?
前端·人工智能·git·测试工具·单元测试·自动化·log4j
c骑着乌龟追兔子25 分钟前
Day 32 函数专题1:函数定义与参数
开发语言·前端·javascript
fruge33 分钟前
前端性能优化实战:首屏加载从 3s 优化到 800ms
前端·性能优化
zlpzlpzyd43 分钟前
vue.js 2和vue.js 3的生命周期与对应的钩子函数区别
前端·javascript·vue.js
鸡吃丸子1 小时前
前端需要掌握的关于代理的相关知识
前端
爱敲代码的小冰1 小时前
js 时间的转换
开发语言·前端·javascript