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

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

相关推荐
San3018 小时前
JavaScript 底层探秘:从执行上下文看 `this` 的设计哲学与箭头函数的救赎
javascript·面试·ecmascript 6
黛色正浓18 小时前
【React】极客园案例实践-项目搭建和登录模块
前端·react.js·rust
Healer91818 小时前
js请求的并发控制
前端
是你的小橘呀18 小时前
从 "渣男" 到 "深情男":Promise 如何让 JS 变得代码变得专一又靠谱
前端·javascript·html
mangnel18 小时前
vue3 的预编译模板
vue.js
baozj18 小时前
告别截断与卡顿:我的前端PDF导出优化实践
前端·javascript·vue.js
傲文博一18 小时前
为什么我的产品尽量不用「外置」动态链接库
前端·后端
Healer91818 小时前
Promise限制重复请求
前端
梵得儿SHI18 小时前
Vue 响应式原理深度解析:Vue2 vs Vue3 核心差异 + ref/reactive 实战指南
前端·javascript·vue.js·proxy·vue响应式系统原理·ref与reactive·vue响应式实践方案
chenyunjie18 小时前
我做了一个编辑国际化i18n json文件的命令行工具
前端