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

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

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


从表面上看,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、如果没有图标:开始按钮——点击控制面板——点击声音,语音和音频设置——设备音量下面的“将音量图标放入任...

电脑ip地址查询方法win10(window10电脑ip地址查询方法)

在Windows10中查看自己电脑的IP地址,你可以按照以下步骤操作:1.打开开始菜单,点击“设置”图标,在弹出的菜单中选择“网络和Internet”。2.打开“网络和Interne...

wifi忘记密码咋办(wifi 密码 忘记)

忘记WiFi密码解决方法如下1.点击无线设置忘记wifi密码后,在路由器的后台界面中,点击无线设置选项。2.点击wifi设置在无线设置界面里,找到上方的wifi设置按钮,点击它。3.点击小眼睛图标在w...

deepin和uos(deepin和uos哪个好用)

1)兼容性问题对于UOS操作系统和Deepin操作系统而言,两者最大区别是UOS系统的兼容性更好。2)所属公司Deepin操作系统的开发工作是深之度公司,而负责UOS操作系统开发工作的是新成立的统信软...

腾达路由器设置界面进不去(腾达路由器进入不了设置页面)

腾达路由器无法进入设置界面的原因可能有多种。以下是一些可能的原因和解决方法:1.路由器IP地址不正确:请确保您正在使用的设备与路由器连接在同一网络上,并输入正确的路由器IP地址。默认情况下,腾达路由...

u盘插上不读取怎么办(u盘插上不读盘)

u盘插入电脑无法识别按以下方法1.将u盘插在其他设备上,如果可以识别,确定u盘没有问题;2.检查电脑的u口,用棉签沾上酒精,擦拭u口里面的接触点,再插上u盘即可正常识别。U盘是USB盘的简称,据谐音也...

冰封一键重装系统靠谱吗(冰封一键在线重装全能版)

冰封一键重装系统U盘的使用方法如下:1.将冰封一键重装系统U盘插入电脑的USB接口。2.重启电脑并进入BIOS设置界面。3.在启动选项中选择U盘作为启动设备。4.保存设置并重新启动电脑。5....

电脑如何恢复出厂设置win8(电脑如何恢复出厂设置win7)
  • 电脑如何恢复出厂设置win8(电脑如何恢复出厂设置win7)
  • 电脑如何恢复出厂设置win8(电脑如何恢复出厂设置win7)
  • 电脑如何恢复出厂设置win8(电脑如何恢复出厂设置win7)
  • 电脑如何恢复出厂设置win8(电脑如何恢复出厂设置win7)
pscs6免费版安装包(ps cs6 完整版免安装)
  • pscs6免费版安装包(ps cs6 完整版免安装)
  • pscs6免费版安装包(ps cs6 完整版免安装)
  • pscs6免费版安装包(ps cs6 完整版免安装)
  • pscs6免费版安装包(ps cs6 完整版免安装)
win10的win键是哪个(win10键盘上win键在哪设置)

Win键是指Windows键,通常位于键盘左下角,带有Windows标志。Win键是Windows操作系统中的一个重要快捷键,可以方便地进行各种操作,如打开开始菜单、切换程序、截屏等等。Win键配合其...

diskdiggerpro下载(diskdiggerpro软件下载)

完整扫描时间与硬盘容量大小、类型和是否存在坏道有关系,一般来说机械硬盘要慢一些,固态硬盘要快一些;容量越大花费时间也比容易小的慢;有坏道(块)会更慢一些。通常来说从10多分钟到几个小时不等,关键是要得...

百度云盘搜索引擎入口(百度云盘搜索引擎入口在哪里)

盘搜是国内老牌的百度网盘搜索引擎,也是百度网盘,乐视云盘搜索,迅雷快传,可乐云盘,华为网盘等多种优秀网盘搜索集一身,是数千万盘友首选网盘搜索工具

手机中毒怎么清理最彻底(清理手机病毒的软件哪个好)

1、安装手机安全软件,全盘扫描查杀病毒,在手机上安装一个可行的安全软件,进行一次全盘系统扫描,可以进行联网查杀,然后点击清理就可以了。2、利用电脑杀毒软件进行解决,首先将用手机数据线将手机和电脑连接起...

电脑进不了系统怎么用u盘重装

电脑重装系统失败,可以用u盘先下载所需系统。重启电脑用u盘启动,进入pc系统后,在pc系统的桌面上点选系统安装助手,接着再点选所需安装系统所在的u盘盘符,点选安装系统的程序,这样就可以用u盘安装新的电...

windows7下载不了原神(电脑无法下载原神)

这个应该是网站的软件下载有问题。1在Windows7下无法下载原神游戏。2Windows7是一个较旧的操作系统,可能不符合原神游戏的最低系统要求。原神游戏可能需要更高版本的操作系统才能正常运行...