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");})
相关推荐
gnip几秒前
UniApp 内嵌 H5 通信全攻略
前端·javascript
用户6802659051192 分钟前
企业电脑统一管理怎么做?2026企业终端统一管理方法与工具推荐
javascript·后端·面试
小凯在掘金3 分钟前
为什么要有访问器? 你不知道的对象属性
前端·javascript
codigger3 分钟前
ObjectSense:一门千行内核、把可靠性写进骨子里的面向对象脚本语言
开发语言·编程·编程语言
OpsEye5 分钟前
AI 账单月月上涨,你的企业真的把大模型用对了吗?
javascript·ai编程
无责任此方_修行中9 分钟前
插件+1:MiaoMint —— 类 RayCast 的标签管理工具
前端·javascript·vibecoding
百万蹄蹄向前冲10 分钟前
双端同步!云服务器装最新Node.js v26.10全过程追踪
服务器·人工智能·node.js
前端snow10 分钟前
ai agent--- 后端概念补充:Docker Compose、ElasticSearch、IK、BM25等
node.js
EdgeEcho14 分钟前
Node 里那个"只解第一帧"的坑,我用 172 行代码绕过去了
node.js
kyriewen17 分钟前
我手写了一版 React Compiler:AI 最常漏的 3 个 memo 场景
前端·javascript·ai编程