前端 Promise 问题?

作者站长头像
站长
· 阅读数 16

请大佬帮忙分析一下,以下代码执行顺序(正确的顺序是:a 1 2 3 b 4 c 5):

Promise.resolve()
  .then(() => {
    console.log('a');
    return new Promise(res => res());
  })
  .then(() => {
    console.log('b');
  })
  .then(() => {
    console.log('c');
  });
Promise.resolve()
  .then(() => {
    console.log(1);
  })
  .then(() => {
    console.log(2);
  })
  .then(() => {
    console.log(3);
  })
  .then(() => {
    console.log(4);
  })
  .then(() => {
    console.log(5);
  });
回复
1个回答
avatar
test
2024-06-26

参考https://segmentfault.com/q/1010000039387146https://www.zhihu.com/question/453677175

记住return Promise.resolve()return new Promise(resolve => { reolve() })return new Promise(resolve => { reolve() }).then(res => {return res})这三个返回值会卡两次

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容