百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

碎片时间学编程「134]:JS 承诺中的 then 和 finally 有什么区别?

liuian 2025-03-25 15:21 77 浏览


从表面上看,Promise.prototype.then()Promise.prototype.finally()似乎很相似。但是我们需要记住一些重要的区别。

第一个也是最明显的一个是它finally()没有收到承诺链的结果值。同样,由于 finally() 没有收到任何值,因此也无法更改 promise 的已解析值。

JavaScript

new Promise((resolve, reject) => resolve(10))
  .then(x => {
    console.log(x); // 10
    return x + 1;
  })
  .finally(x => {
    console.log(x); // undefined
    return x + 2;
  });
// Promise resolves to 11, the return value of then()

另一个区别与错误处理以及如何解决承诺链有关。有时,您可能希望推迟在 Promise 链中捕获错误,以便在其他地方处理它们。在这种情况下,then()不会执行链接的,而finally()会执行。此外,如果前一个catch()抛出异常,你最终会处于同样的情况。

new Promise((resolve, reject) => reject(0))
  .catch(x => {
    console.log(x); // 0
    throw x;
  })
  .then(x => {
    console.log(x); // Will not run
  })
  .finally(() => {
    console.log('clean up'); // 'clean up'
  });
// Uncaught (in promise) 0

这里的要点是你不应该替代then()finally()除非有非常具体的理由这样做。根据经验,finally()应该用于清理(清除超时、清空引用、重置 UI 状态等)。

更多内容请访问我的网站:https://www.icoderoad.com

相关推荐

电脑开机f8进不去安全模式(电脑启动按f8怎么进不了安全模式)

关于这个问题,可能是因为您的电脑启动过程太快,按F8的时间不够长,或者您的电脑已经设置为禁用F8键启动。您可以尝试以下方法进入安全模式:1.在Windows10中,按住Shift键,同时单击电源按...

surface平板电脑如何重装系统

笔记本电脑到可以按下面的步骤进行重装系统:1.系统光盘放入光驱里。2.打开电源,然后观察屏幕的提示,在启动系统之前有按“F2进行BIOS设置。3.设置启动方式。这个设置画面就是BIOS设置。找到boo...

电脑分盘怎么分配空间(电脑分盘怎么分配空间取整)

电脑已经有系统的情况下如何实现分配硬盘容量:1、打开“我的电脑”点击进入控制面板,选择管理工具,计算机管理--储存--磁盘管理;2、删除后面分区再自己分配下,注意:警告(重新分区里面资料会全部删除,请...

电脑系统ghost是什么意思啊(电脑ghost有什么用)

原因分析:1、ghost文件损坏;2、系统分区出现错误。解决方案:1、重新下载ghost镜像文件,再次安装;2、用DiskGenius或者easybcd修复分区表后在重新安装试试。3、若上述方案无法解...

安卓软件apk安装包下载(安卓apk安装器下载)
安卓软件apk安装包下载(安卓apk安装器下载)

1.设定-安全-未知来源-打钩。2.可能是下载的软件安装包不完整,请重新下载安装。3.可能是安装软件的版本低于现有版本、或者软件兼容性问题所导致,请更换其他版本或者其他软件再次下载安装。4.安卓手机支持的软件格式为APK,这种情况可以更换其...

2026-01-07 12:05 liuian

一千左右的笔记本电脑哪个好

¥1000左右,笔记本性价比最高的也就性价比之王的肯定,是联想的这种脾气吧,因为联想的笔记本的是国产的最好的这种脾气吧,他生产的笔记本那有高档中档和低端的这几种所以¥1000左右的可以买一杯联想比较性...

电脑截屏的快捷按键(“电脑截屏的快捷键”)

电脑截图快捷键是Ctrl+PrScrn。电脑上截图的方法一般有这4种方式:1、Ctrl+PrScrn使用这个组合键截屏,获得的是整个屏幕的图片;2、Alt+PrScrn这个组合键截屏,获得的结果是当...

qq空间为什么打不开了怎么办
qq空间为什么打不开了怎么办

1、首先我们需要在自己的手机上下载并安装最新版本的QQ空间,安装完成后打开QQ空间,登录自己的账号。2、首先我们尝试打开QQ空间,打不开在手机上找到设置,点击进入设置界面,在这里我们可以对手机进行部分设置。3、进入设置界面后,我们需要在其中...

2026-01-07 10:55 liuian

联想怎么恢复系统(联想电脑系统恢复怎么操作)

  如果电脑重新分区,安装了操作系统就无法恢复到预装系统。  安装了系统,没有做系统备份也是无法恢复的,只能够重新安装。  联想电脑的一键还原系统在需要使用的时候直接按下一键还原按键即可,系统会自动进...

台式机无线网卡连不上wifi怎么办

1、无线网卡驱动没更新或者不匹配;解决办法:开始→控制面板→系统→硬件→设备管理器→网络适配器→右击无线网卡→更新驱动程序软件→按部就班完成更新;2、无线网络服务未开通;解决办法:开始→控制面板→管理...

126官方邮箱登录入囗(126邮箱登录入口手机版官网)

126邮箱是网易的一个免费邮箱登录入口在浏览器输入:mail.126.com浏览器进入126邮箱网站之后,即可自行登录126邮箱账号。如何在手机上登录126邮箱1、打开手机,找到并打开网易邮箱软件。2...

耐用笔记本电脑排行(最耐用笔记本排名)

最耐用的笔记本电脑是联想牌子。联想绝对是最耐用的,质量最好的轻薄本,也是最好用的轻薄本之一。联想笔记本电脑的质量和做工在世界上能称第一。十大公认最耐用笔记本如下1、华硕灵耀x14第12代英特尔酷睿i...

固态硬盘量产工具下载(固态硬盘量产工具下载合集)

固态硬盘量产工具好用的依次是:SLC颗粒最好,MLC颗粒其次,TLC颗粒再次,QLC颗粒现在最次;但是颗粒也分原厂颗粒,黑片,白片;原厂最好,黑片就是淘汰下来的渣渣。slc最好寿命长速度快也最贵...

文件夹怎么显示隐藏的文件夹

查找隐藏文件夹的方式如下:1、点击桌面的“计算机”,双击打开计算机2、在计算机页面中,点开自己存储文件夹的盘,这里以c盘为例。其他盘也可以依据这样的方式进行查找。3、找到左上角的“组织”,在其下拉的菜...

wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)
  • wifi一键连(wifi一键连接下载)