Skip to content

【Promise第14题】下面代码的输出是什么?

Posted on:2022年1月9日 at 23:01
const promise = new Promise((resolve, reject) => {
  reject("error");
  resolve("success2");
});
promise
  .then((res) => {
    console.log("then1: ", res);
  })
  .then((res) => {
    console.log("then2: ", res);
  })
  .catch((err) => {
    console.log("catch: ", err);
  })
  .then((res) => {
    console.log("then3: ", res);
  });

解析

catch不管被连接到哪里,都能捕获上层未捕捉过的错误。

至于then3也会被执行,那是因为catch()也会返回一个Promise,且由于这个Promise没有返回值,所以打印出来的是undefined。

结果

"catch: " "error"
"then3: " undefined
原文转自:https://fe.ecool.fun/topic/31621982-633a-4254-a1a4-b518f734c674