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");})
相关推荐
山河木马10 分钟前
前端学习C++之:.h(.hpp)与.cpp文件
前端·javascript·c++
2401_8919573111 分钟前
list的一些特性(C++)
开发语言·c++
努力只为躺平15 分钟前
一文搞懂 Promise 并发控制:批量执行 vs 最大并发数,实用场景全解析!
前端·javascript
Web小助手17 分钟前
大保剑:Promise的有趣体验
javascript
李大玄17 分钟前
Google浏览器拓展工具 "GU"->google Utils
前端·javascript·github
爱编程的喵17 分钟前
从DOM0到事件委托:揭秘JavaScript事件机制的性能密码
前端·javascript·dom
二十雨辰21 分钟前
[尚庭公寓]07-Knife快速入门
java·开发语言·spring
Python大数据分析@23 分钟前
Origin、MATLAB、Python 用于科研作图,哪个最好?
开发语言·python·matlab
sunbyte30 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ContentPlaceholder(背景占位)
前端·javascript·css·vue.js·tailwindcss
编程零零七1 小时前
Python巩固训练——第一天练习题
开发语言·python·python基础·python学习·python练习题