您现在的位置是:亿华云 > 数据库
在 promise 中 then 和 finally 有什么区别
亿华云2025-10-09 12:51:15【数据库】2人已围观
简介看上去 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 链有关。b2b供应网有时,区别您可能想要推迟捕获 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 状态等)。
服务器租用很赞哦!(699)
相关文章
- 3、商标域名一经注册,就可以作为域名裁决过程中的主要信息之一。这可以大大增加公司被抢注的相关域名胜诉的机会。
- Vue开发必须知道的36个技巧【近1W字】
- 一篇文章带你了解SVG marker 标记
- Java微服务 vs Go微服务,究竟谁更强?
- 5. 四种状态过后,域名管理机构释放域名给公众注册。
- 项目在手,天下我有!这里有820个ML Python库,star量共计260万
- 如何熟练掌握多种编程语言
- 手把手教你用Go语言开发一款简易目录生成器
- .com域名是国际最广泛流行的通用域名,目前全球注册量第一的域名,公司企业注册域名的首选。国际化公司通常会注册该类域名。
- Python 中的 EAFP 和 LBYL 代码风格到底是什么?