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

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

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


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

相关推荐

番茄小说网页版入口免费阅读

番茄小说网页版的使用方法可能因版本而异,但通常来说,你可以按照以下步骤在番茄小说网页版上阅读小说:1.打开你的网页浏览器并输入"番茄小说网页版"进行搜索。2.点击进入番茄小说网页版...

电脑键盘上的windows键是哪个键

Windows键位于键盘的底部左边,通常带有Windows标志的图标。它的形状像一个方块,其中有四个等分的小方格,其中两个边缘是弯曲的。Windows键通常用于执行与操作系统相关的功能,例如打开开始菜...

tplink无线网卡如何连接电脑

TP-LinkUSB无线网卡驱动是连接电脑和网络的重要组件,安装成功后需要进行设置。首先,将网卡插入电脑USB口,电脑会自动提示安装驱动,按照步骤完成安装。接着,打开网络共享中心,选择“更改适配器设...

mediaplayer可以播放什么格式

播放器windowmediaplayer播放.asf,.wmv..g(使用Microsoft?WindowsMedia?Player10,可以播放和组织计算机及Internet上...

运行注册表编辑器(运行注册表编辑器怎么打开)
  • 运行注册表编辑器(运行注册表编辑器怎么打开)
  • 运行注册表编辑器(运行注册表编辑器怎么打开)
  • 运行注册表编辑器(运行注册表编辑器怎么打开)
  • 运行注册表编辑器(运行注册表编辑器怎么打开)
9月更新cf烟雾保护头怎么调最新

1、首先在桌面点击鼠标“右键”,然后选择“屏幕分辨率”。2、然后再点击“高级设置“。3、接着点击窗口中的“监视器”,将颜色改成为“增强色(16位)”。4、回到桌面,再次点击右键,然后点击“NVIDIA...

flash游戏播放器经典版(flash游戏播放器安卓最新版)

QQ空间的游戏大部分是网页游戏,如不是网页游戏就不能在安卓端或IOS端打开。而网页游戏又分flash游戏和H5游戏而QQ空间大部分游戏都是flash游戏,但是由于flash的漏洞和功耗实在太多,连自家...

神舟十五号(神舟十五号出征仪式)

神舟十五号,简称“神十五”,为中国载人航天工程发射的第十五艘飞船。神舟十五号正在进行紧锣密鼓地组装和测试。预计在2022年11月中旬发射升空。中国神州系列一共发射了11次,目前神州15号还没有生产约6...

空间万能查看器天涯2025(空间万能查看器天涯2023)

未中奖“勇闯天涯”是华润雪花主推的一个原创性营销活动,从05年推出至今,已经走过15年春秋。继探索雅鲁藏布大峡谷、探秘长江源、远征国境线,极地探索之后,2009年的“挑战乔戈里峰”是首次由中国人组织的...

微软账号官网(微软账号官网网址)

1使用浏览器,打开微软账号页面。进入页面之后,选择,创建账户。2在弹出的框里选择,同意并继续。3在弹出的框里选择,同意并继续。4这里以电话号码注册形式作为演示。设定登录密码之后,点击下...

电信测速(电信测速器在线测网速)

1、在IE浏览器上打开中国联通网上营业厅,在首页左侧的导航栏里面选择“便民服务”,然后再在展开的窗口上点击“宽带测速”。2、点击底下的那个“同意条款,开始测速”的按钮。3、完成以上步骤后,出现“Int...

硬盘盒怎么安装硬盘(硬盘盒安装硬盘教程)
  • 硬盘盒怎么安装硬盘(硬盘盒安装硬盘教程)
  • 硬盘盒怎么安装硬盘(硬盘盒安装硬盘教程)
  • 硬盘盒怎么安装硬盘(硬盘盒安装硬盘教程)
  • 硬盘盒怎么安装硬盘(硬盘盒安装硬盘教程)
海马助手ios版官网(海马助手ios下载安装)

打开电脑管家等程序后,找到开机加速或者电脑加速,然后找到启动项,在里面一一查找有关于快用的程序,如果禁止了就都打开,保持在已开启的状态。然后再重新打开快用苹果助手试一试。设置--通用--描述文件第二...

自己怎么重装电脑程序(自己怎么重装电脑程序软件)

重装电脑程序的一般步骤如下:1.备份重要数据。在重装程序之前,请先备份重要的数据。这有助于防止在重装过程中出现不可预料的问题。2.确定需要安装的软件。运行一个系统文件检查器(SFC)工具,该工具将检查...

win10清理垃圾在哪(win10系统清理垃圾)

win10自动清理垃圾有用的,方法,1,首先清理无用的垃圾文件和很多临时文件,点开右下角通知然后点击所有设置。2,点击系统,进入系统之后点击存储,然后选择你要清理的磁盘。3,这里能看到该盘下面的所有文...