promise的catch放在then前面的场景

我们知道Promise 的 .then() 和 .catch() 方法的链式调用顺序通常是先 .then() 后 .catch()。这是因为 .then() 方法用于处理成功的情况,而 .catch() 方法用于处理失败的情况。.catch() 方法会捕获前面所有 .then() 链中抛出的异常,以及在 Promise 执行过程中发生的任何错误。

在一个失败重试场景中我把catch放在then前面,代码逻辑会很简单:

javascript 复制代码
...
const pause = (duration) => new Promise((reslove) => setTimeout(reslove, duration));
...
dosomething()
	.catch(e=>{
		console.log("frist fail");
		pause(delay).then(()=>{
			console.log("second try"); 
			dosomething()
				.then(()=>{console.log("retry succ");});
			})
	.then(()=>{dootherthing();})
	.catch(e=>{console.log("fail");})
相关推荐
广州服务器托管4 分钟前
[2026.1.6]WINPE运维版20260106,带网络功能的PE维护系统
运维·开发语言·windows·计算机网络·个人开发·可信计算技术
a努力。11 分钟前
京东Java面试被问:双亲委派模型被破坏的场景和原理
java·开发语言·后端·python·面试·linq
冰暮流星12 分钟前
javascript赋值运算符
开发语言·javascript·ecmascript
谢娘蓝桥12 分钟前
adi sharc c/C++ 语言指令优化
开发语言·c++
刘975319 分钟前
【第25天】25c#今日小结
java·开发语言·c#
寧笙(Lycode)20 分钟前
前端包管理工具——npm、yarn、pnpm详解
前端·npm·node.js
豆沙沙包?23 分钟前
2026年--Lc330-394. 字符串解码(栈)--java版
java·开发语言
2501_9418008827 分钟前
从微服务限流到系统稳定性的互联网工程语法实践与多语言探索
开发语言·python
清水白石00835 分钟前
《深度剖析 Pandas GroupBy:底层实现机制与性能瓶颈全景解析》
开发语言·python·numpy
2501_9418752836 分钟前
从资源隔离到多租户安全的互联网工程语法构建与多语言实践分享
java·开发语言