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");})
相关推荐
for_ever_love__15 分钟前
python基础语法学习: requirements.txt
开发语言·python·学习
默_笙16 分钟前
🍔 给 AI 发一张结构化表格(下):从"自由发挥"到"按格填空"的输出驯服指南
前端·javascript
泯泷19 分钟前
手搓JSVM第 11 篇:打包、模块与 CLI:把 VM 产物变成可运行文件
前端·javascript·前端框架
泯泷20 分钟前
手搓JSVM第 10 篇:对象、数组与属性访问
前端·javascript·前端框架
XiaoYu1__26 分钟前
JavaGUI文件管理系统开发实战:从静态展示到动态交互的演进
java·开发语言
for_ever_love__28 分钟前
python基础语法学习: 动态类型
开发语言·python·学习
霸道流氓气质35 分钟前
MCP(Model Context Protocol)核心概念与Java SDK集成
java·开发语言
企查查数据服务36 分钟前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php
泯泷39 分钟前
手搓JSVM第 9 篇:闭包:函数如何记住外部变量
前端·javascript·前端框架
晴天161 小时前
前端 SSR、BFF 原理介绍
前端·javascript·网络·html