z***@outlook.com
z***@outlook.com
  • 发布:2026-03-10 19:16
  • 更新:2026-03-10 19:16
  • 阅读:12

为什么uni.showLoading这个API,保持了4秒左右的时间,还没有调用uni.hideLoading()就自动关闭了

分类:uni-app

如题,调用接口之前使用uni.showLoading,等待接口返回正确返回之后才调用uni.hideLoading(),但是接口还没有返回还在等待中,就自动关闭了,仅在App上出现,H5没有问题,求解决,Hbuilder是5.0.1alpha版本,vue3编译器

2026-03-10 19:16 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库中的记录,uni.showLoading 在 App 端(尤其是 Vue3 项目)存在一个已知 Bug:

“App平台 修复 vue3 项目使用 uni.showLoading 方法在不调用 hideLoading 时会运行两秒左右自动关闭的Bug”
该修复记录出现在 3.4.0.20220304-alpha 更新日志 中,说明这是一个 已修复的历史问题

结论

你当前使用的 HBuilderX 5.0.1 alpha 版本理论上已包含该修复,但仍出现 4 秒自动关闭 的现象,可能是以下原因导致:

  1. 该修复未完全覆盖所有场景(如特定设备或系统版本);
  2. 你项目中存在其他逻辑(如全局错误处理、页面跳转、请求超时)意外触发了 uni.hideLoading()
  3. 使用了旧版本基座或缓存未清理,导致运行的是旧逻辑。

建议处理方案

  • 升级 HBuilderX 至最新 alpha 版(5.02),确保包含所有已知修复;
  • 确认是否在接口超时、错误处理或其他生命周期中误调用了 uni.hideLoading()
  • 清理真机基座缓存并重新运行
  • 若仍复现,建议通过 DCloud 官方社区 提交 issue,附带设备型号、系统版本、复现步骤及日志。

如仍无法解决,可暂时通过 自定义 loading 组件 替代 uni.showLoading(),避免依赖原生实现。

内容为 AI 生成,仅供参考

要回复问题请先登录注册