@heybox/hb-sdk API Reference - v0.9.5
    正在准备搜索索引...
    • 展示或更新全局 Loading。

      参数

      • 可选options: ShowLoadingPayload

        可选展示配置。省略、JavaScript null 或传入 {} 时,SDK 将其规范化为 空配置,Runtime 再将 dismissible 规范化为 false;只接受布尔值且不支持额外字段。

      返回 Promise<void>

      Runtime 调用的 Host presentation.showLoading operation 成功结束并返回 bridge 响应后, Promise 以 void resolve。它不会等待 Loading 被隐藏或用户手动关闭,也不返回 Loading handle。

      HbMiniProgramSDKError dismissible 不是布尔值、options 含额外字段或底层 payload 不符合对象契约时以 INVALID_PARAMS 拒绝;当前 Host 未开放 presentation.showLoading 时以 METHOD_FORBIDDEN 拒绝,旧 Runtime 不认识 ui.showLoading 时可返回 METHOD_NOT_FOUND,Host 不支持当前请求形状时以 REQUEST_UNSUPPORTED 拒绝。bridge、Runtime 卸载、请求超时或 Host operation 失败时抛出 对应 SDK 错误。

      该 API 无需在 package.json#heybox.permissions 中声明权限,也不要求可信用户手势。它只控制 Host 的全局 Loading 反馈,不会阻塞或取消调用方的业务 Promise。

      dismissible: false 请求 Host 不提供用户手动关闭入口;true 允许 Host 提供入口。该字段只描述 Host UI 是否可由用户关闭,不是业务取消能力:SDK 不会收到关闭事件,也不会因此 abort 网络请求 或其他任务。即使允许手动关闭,业务仍应在完成时调用 ui.hideLoading() 清理。

      SDK 与 Runtime 都不维护 Loading 是否可见、展示次数、引用计数或调用栈。每次调用都会独立发送并 转发到 Host;重复调用是更新还是重建、后一次配置如何覆盖前一次、Loading 与现有 ui.showToast() 如何交互,都由 Host 决定。一个流程的 hideLoading() 可能隐藏另一个并发流程展示的 Loading,因此多个流程共享全局 Loading 时,应在 应用层协调所有权或自行维护计数。

      单个流程拥有 Loading 时,先等待本方法成功,再把业务任务放进 try,并在 finally 中调用 hideLoading(),确保成功与失败路径都尝试清理。若清理失败不能覆盖原始业务错误,应在应用层 单独捕获并记录清理错误。

      import hbSDK from '@heybox/hb-sdk'

      await hbSDK.ui.showLoading({ dismissible: true })
      try {
      await saveChanges()
      } finally {
      await hbSDK.ui.hideLoading()
      }

      0.4.4

      android

      ios

      ohos

      windows

      macos

      android none

      ios none

      ohos none

      windows none

      macos none