在 promise 中 then 和 finally 有什么区别
发布时间:2025-11-05 08:49:57 作者:玩站小弟
我要评论
看上去 promise.prototype.then() 和 promise.prototype.finally 似乎非常相似。但是你需要明白它们有一些重要的差异。第一个也最明显的是 finally(
。
看上去 promise.prototype.then() 和 promise.prototype.finally 似乎非常相似。区别但是区别你需要明白它们有一些重要的差异。

第一个也最明显的区别是 finally() 没有得到 promise 链的结果。由于 finally() 没有收到值,区别因此无法更改 promise 的区别已解决值。
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 链有关。云南idc服务商有时,区别您可能想要推迟捕获 promise 链中的区别错误,从而允许你在其他地方处理。区别在这种情况下,区别promise 链的区别 then() 将不会被执行,而 finally() 会。区别并且如果上一个 catch() 抛出,区别你最终会处于相同的区别情形之下。亿华云
new Promise((resolve,区别 reject) => reject(0)) .catch(x => { console.log(x); // 0 throw x; }) .then(x => { console.log(x); // 将不会执行 }) .finally(() => { console.log(clean up); // clean up }); // Uncaught (in promise) 0这里的重点是,除非有非常特殊的原因,否则不应该替换 then() 和 finally()。 根据经验,finally() 应该用于清理(清除超时,使引用为空,重置 UI 状态等)。
源码下载相关文章
如何从iCloud恢复出厂设置(一步步教你恢复设备到出厂设置)
摘要:在日常使用中,我们的设备可能会出现各种问题,例如系统崩溃、数据丢失等。为了解决这些问题,恢复设备到出厂设置是一个常见的方法。本文将详细介绍如何通过iCloud来恢复设备到出厂设置。...2025-11-05创维彩电65G6200的画质表现如何?(体验创维彩电65G6200的震撼画面,看不一样的世界)
摘要:随着科技的不断进步,彩电作为家庭娱乐的重要设备,不仅要追求大屏幕、高清晰度,还要有出色的画质表现。创维彩电65G6200作为市场上备受瞩目的产品之一,它的画质表现如何?下面将从各个...2025-11-05美的330wtv冰箱(了解美的330wtv冰箱的特点与优势,提升生活品质)
摘要:如今,冰箱作为家庭生活中不可或缺的电器之一,已经成为了人们日常生活中必不可少的一部分。而美的330wtv冰箱作为一款高性能、节能环保的家用电器,其特点和优势更是受到了广大消费者的喜...2025-11-05- 摘要:随着智能手机的不断发展,市场上的手机品牌也越来越多。今天我们要为大家介绍的是一款备受瞩目的手机——0pp0r831t手机。作为一款中高端手机,它在性能、拍照等方面都有着出众的表现。...2025-11-05
从零开始学习机械师DOS装系统教程(掌握DOS装系统,轻松解决电脑问题)
摘要:在当今信息爆炸的时代,电脑已经成为我们生活中不可或缺的工具。然而,随之而来的也有一系列的问题。作为一个机械师,掌握DOS装系统技术可以帮助我们解决很多常见的电脑问题。本文将以机械师...2025-11-05- 摘要:超极本作为一种轻薄、便携且性能强大的笔记本电脑,近年来在市场上受到越来越多消费者的青睐。作为其中一款备受好评的品牌,戴尔超极本以其卓越的性能、出色的设计和良好的用户体验,成为许多用...2025-11-05

最新评论