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

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

相关推荐
兴芳2 分钟前
Tencent Cloud Captcha
前端
一个假的前端男8 分钟前
# 从零开始创建 Flutter Web 项目(附 VS Code 插件推荐)
前端·flutter·react.js
卸任17 分钟前
Windows判断是笔记本还是台式
前端·react.js·electron
Jiude25 分钟前
AI 全栈时代的工程化护栏:Vben-Nest 让 Mock 契约落地成真实后端
前端·后端·nestjs
敲敲了个代码31 分钟前
[特殊字符] 空数组的迷惑行为:为什么 every 为真,some 为假?
前端·javascript·react.js·面试·职场和发展
海绵宝龙1 小时前
前端网页录屏是怎么实现的
前端
勇往直前plus1 小时前
python格式化字符串
开发语言·前端·python
恋猫de小郭1 小时前
Flutter 的真正价值是什么?深度解析再结合鸿蒙,告诉你 Flutter 的真正优势
android·前端·flutter
micro_xx1 小时前
Matlab 有限元分析三维悬臂梁变形
前端·数据库·matlab