当前位置: 首页 > news >正文

Promise :then 与 catch 同时触发

Promise :then 与 catch 同时触发

在JavaScript中,Promise的状态一旦改变就不会再变。一个Promise只能从pending状态变为fulfilled(触发then)或rejected(触发catch)状态之一,不能同时触发两者。
然而,在同一个请求中,看到了then和catch都被触发的情况。但实际上,这通常是由于以下原因

同时触发原因

  1. 代码逻辑错误:可能在then中又抛出了错误,导致后面的catch捕获。
  2. 多个请求:如果你在多个地方调用了这个函数,那么可能是其中一个请求成功(触发then),另一个失败(触发catch)。
  3. 响应拦截器:如果你使用了类似axios的拦截器,可能在响应拦截器中进行了错误处理,导致在then中又抛出错误。

解决方案:

1、避免在 then 中处理错误状态

2、确保每个 Promise 都返回结果或抛出错误

3、使用 catch 集中处理错误

http://www.dtcms.com/a/273960.html

相关文章:

  • AIStarter新版重磅来袭!永久订阅限时福利抢先看
  • 精准安装追踪:openinstall 如何让邀请码绑定更智能?
  • 瑞士四种官方语言探秘:多元文化的和谐交融
  • 用Netplan配置网桥bridge笔记250711
  • 飞算 JavaAI:开启 Java 开发新时代
  • 单链表,咕咕咕
  • 使用 Python 对本地图片进行图像分类
  • 镜像(Mirror/Image)
  • 飞算JavaAI:革新Java开发的智能助手
  • 100G系列光模块产品与应用场景介绍
  • 7.12 note
  • 【实时Linux实战系列】硬实时与软实时设计模式
  • Vue3 Pinia
  • 深入MyBatis:CRUD操作与高级查询实战
  • mac电脑的usr/libexec目录是干什么的?
  • 「Linux命令基础」文本模式系统关闭与重启
  • Linux 内存管理之LRU链表
  • 蓝牙协议栈高危漏洞曝光,攻击可入侵奔驰、大众和斯柯达车载娱乐系统
  • HTTPS安全机制:从加密到证书全解析
  • 意识边界的算法战争—脑机接口技术重构人类认知的颠覆性挑战
  • React 的常用钩子函数在Vue中是如何设计体现出来的。
  • 苹果UI 设计
  • 前端面试专栏-算法篇:23. 图结构与遍历算法
  • 4.丢出异常捕捉异常TryCatch C#例子
  • 使用gdal读取shp及filegdb文件
  • C/C++动态内存管理函数详解:malloc、calloc、realloc与free
  • Launcher3桌面页面布局结构
  • JavaScript加强篇——第四章 日期对象与DOM节点(基础)
  • 基于 HT 技术的智慧交通三维可视化技术架构与实践
  • 全球化 2.0 | 印尼金融科技公司通过云轴科技ZStack实现VMware替代