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

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

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


从表面上看,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

相关推荐

windows10开机启动项怎么设置

方法一:  1、可以在win10系统桌面底下的“任务栏”空白处,鼠标右击选择“任务管理器”并打开;  2、在任务管理器中,选择“启动”那栏,就可以看下显示的开机启动项,我们把不想要的开机启动项...

萝卜官网入口(萝卜官网入口app)

1.打开浏览器,输入“luobotechan.com”进入萝卜投研官网;2.在官网首页上,您可以看到智能选股、龙虎榜、资金流向、A股万花筒、新股日历等板块,点击您需要的内容即可;3.如果您还没有...

百度邮箱免费注册(百度邮箱注册入口)

百度没有电子邮箱服务,有以下几点:第一,目前百度的主业是搜索引擎功能第二,电子邮箱服务中网易推出免费邮箱服务较早,系统及运行较为成熟,占国内邮箱的市场份额大第三,百度决策者在没有必胜的把握在下,都不会...

无u盘装系统(无u盘重装系统步骤win10)

安装操作系统有多种方式,除了使用Ghost还有其他的方法。以下是一些常见的安装操作系统的方法:1.使用系统安装光盘或U盘:准备一张系统安装光盘或制作一个系统安装U盘,插入计算机,重启电脑,按照提示进...

键盘失灵自动不停输入(电脑突然自己乱跳乱按)

1.进水:这种情况都比较好处理,一般都是部分按键不能正常使用,进水之后我们先断掉键盘的供电,用螺丝刀拆开键盘,我们就可以看到里面的键盘电膜:我们找到每个卡扣,揭开膜我们可以看到里面的触点,我们检查...

硬盘损坏无法进入系统(硬盘损坏导致无法开机)

1.检查软驱中是否有软盘,然后进BIOS,把启动顺序调解为A在最后,顺便把A给关闭了。  2.BIOS设置中将“防病毒保护”设为启用。如果是这个原因,进BIOS,关闭“防病毒保护”。  3.写引导区错...

手机壁纸图片免费(手机壁纸图片免费2025)

1,打开华为手机进入系统后,点击自带的主题应用进入。2,在主题的主界面,选择动态壁纸的图标进入。3,进入后可以看到华为手机主题内的动态壁纸,向上滑动,可以挑选自己喜欢的壁纸。4,选择自己的喜欢的动态壁...

windows10大白菜u盘安装教程

win10系统用usb安装步骤:准备工具:1、大白菜u盘2、win10系统镜像包具体步骤:一、制作u启动盘1、从网上下载u启动u盘启动盘制作工具安装包2、安装u启动u盘启动盘制作工具3、插入u盘,打开...

镜像下载什么意思(下载镜像需要多久)

镜像下载是指在互联网上获取文件的过程中,从一个服务器上下载文件的副本或镜像。这些镜像通常是存储在不同地理位置的服务器上,以提供更快的下载速度和更可靠的文件传输。镜像下载可以帮助用户避免因为单个服务器带...

电脑读不出来u盘(电脑读不出来u盘怎么回事)

电脑无法识别u盘四种方法方法1:取消勾选“隐藏的驱动器”  1、首先要排除是不是U盘损坏的问题,当U盘插入到其他电脑,如果可以读出来,那么肯定不是U盘的问题了。  2、很有可能是U盘在你的电脑上被隐藏...

仙剑奇侠传五前传(仙剑奇侠传五前传攻略全图文)

一、《仙剑奇侠5》1、小蛮(李逍遥外孙女,海棠(阿奴)徒弟)小蛮,单机游戏《仙剑奇侠传五》的第二女主角。女娲族的直系后裔,李忆如之女,由“巫月神教”掌门海棠夫人(阿奴)抚养长大。虽然娇蛮,但心地善良。...

usb无线网卡价格(usb无线网卡价格多少)

一般的USB无线网卡,就是很小的那种也就20左右吧,但接收范围小,如果路由器离你不是太远,这种就能用。如果接收别人家的无线信号,离的比较远的得买个大功率的,淘宝上也就50左右,个头比较大,但接受距离信...

小马激活office2016(小马激活office)

很简单,重装系统win7,这个可以激活的,然后根据推送升级win10,如果有强迫症可以升级以后重新安装win10系统,以后都是自动联网激活的。小马激活官网是小马win7激活工具、小马win8激活工具、...

windos7下载官方(windows官网win7下载)
windos7下载官方(windows官网win7下载)

最简单的方法就是,下载完镜像文件后,直接把镜像文件解压,解压到非C盘,然后在解压文件里面找到setup.exe,点击运行即可。安装系统完成后,在C盘找到一个Windows.old(好几个GB,是旧系统打包在这里,垃圾文件了)删除即可。扩展资...

2026-01-24 20:05 liuian

斐讯路由器登录页面(斐讯路由登陆)

斐讯(phicomm)无线路由器的默认设置网址是:192.168.1.1;用户可以在斐讯路由器底部的铭牌(标签)上查看到的首先使用手机或者电脑连接到斐讯路由器的WIFI信号或者电脑使用网线连接到无线路...