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");})
相关推荐
拉不动的猪6 分钟前
基本数据类型Symbol的基本应用场景
前端·javascript·面试
從南走到北12 分钟前
JAVA同城服务场馆预约门店预约健身房瑜伽馆预约系统支持H5小程序APP源码
java·开发语言·小程序
天庭鸡腿哥14 分钟前
谷歌出品,堪称手机版PS!
javascript·智能手机·eclipse·maven
爱学的小码20 分钟前
JavaEE初阶——多线程3(案例)
java·开发语言·单例模式·java-ee
csbysj202030 分钟前
Ruby 面向对象编程深入解析
开发语言
voidmort31 分钟前
web3.py 简介:面向 Python 开发者的以太坊
开发语言·python·web3.py
k***38836 分钟前
Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
服务器·http·node.js
Lsx-codeShare42 分钟前
一文读懂 Uniapp 小程序登录流程
前端·javascript·小程序·uni-app
一 乐1 小时前
农产品电商|基于SprinBoot+vue的农产品电商系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot
Teacher.chenchong1 小时前
R语言实现物种分布预测与生态位分析:多元算法实现物种气候生态位动态分析与分布预测,涵盖数据清洗、模型评价到论文写作全流程
开发语言·算法·r语言