Skip to content

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

Posted on:2024年7月20日 at 11:01
Promise.resolve("1")
  .then((res) => {
    console.log(res);
  })
  .finally(() => {
    console.log("finally");
  });
Promise.resolve("2")
  .finally(() => {
    console.log("finally2");
    return "我是finally2返回的值";
  })
  .then((res) => {
    console.log("finally2后面的then函数", res);
  });

解析

.finally(),这个功能一般不太用在面试中,不过如果碰到了你也应该知道该如何处理。

其实只要记住它三个很重要的知识点就可以了:

上面的代码中,这两个Promise的.finally都会执行,且就算finally2返回了新的值,它后面的then()函数接收到的结果却还是’2’。

结果

'1'
'finally2'
'finally'
'finally2后面的then函数' '2'
原文转自:https://fe.ecool.fun/topic/e233c823-d125-4abe-b1da-878751a92cd9