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");})
相关推荐
古城小栈几秒前
rustup 命令工具,掌控 Rust 开发环境
开发语言·后端·rust
lly20240611 分钟前
NumPy 高级索引
开发语言
菠萝地亚狂想曲15 分钟前
Zephyr_01, environment
android·java·javascript
蜡台26 分钟前
vue params传参刷新网页数据丢失解决方法
前端·javascript·vue.js
XY_墨莲伊28 分钟前
【编译原理】实验二:基于有穷自动机FA词法分析器设计与实现
c语言·开发语言·c++·python
广州灵眸科技有限公司34 分钟前
瑞芯微(EASY EAI)RV1126B 网络摄像头方案
开发语言·网络·科技·嵌入式硬件·物联网
少许极端37 分钟前
算法奇妙屋(四十五)-CCPC备战之旅-1
java·开发语言·算法
U盘失踪了42 分钟前
go 常量
开发语言·后端·golang
techdashen43 分钟前
Go 的新垃圾回收器 Green Tea:一个降低GC CPU开销的大工程
开发语言·后端·golang
Java面试题总结1 小时前
BCrypt密码加密
开发语言·python