You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React中如何检测APIService实例的Promise数组是否包含指定Promise?

React中APIService的Promise队列匹配失败问题
  • 开发React应用时,使用全局APIService实例处理远程数据请求,为实现组件卸载时终止fetch请求,给APIService添加了AbortController功能。计划在useEffect中获取请求返回的Promise,组件卸载时调用APIService.abort()方法终止对应请求。
  • APIService内部维护私有属性queue: Promise<boolean>[],用于追踪处于pending状态的Promise,请求完成后会将其从队列中移除。但在abort方法中,无论使用indexOf还是===比较,都无法检测到传入的Promise存在于queue数组中,即便该Promise是通过APIService自身的get方法推入队列的。
  • 奇怪的是,若将queue设为公开属性并在类外部手动推入Promise,abort方法的查找逻辑就能正常工作。尝试给队列元素添加id标识来匹配,问题仍未解决,且未发现Promise的引用在状态变更过程中发生改变。

内容的提问来源于stack exchange,提问作者Daniel Stasiak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 11:25:59