Skip to content

waitForPages

等待UniApp页面栈建立,通过轮询检查页面栈状态。

前置依赖

依赖参数

参数名类型说明
deps.getCurrentPagesUniApp['getCurrentPages']获取当前页面栈
deps.setTimeouttypeof setTimeout超时函数

环境要求

  • UniApp环境: 使用UniApp API

函数签名

typescript
function waitForPages(
  deps: WaitForPagesDeps,
  timeout?: number
): Promise<any[]>

interface WaitForPagesDeps {
  getCurrentPages: UniApp['getCurrentPages']
  setTimeout: typeof setTimeout
}

参数

参数名类型必填默认值说明
depsWaitForPagesDeps-依赖注入对象
timeoutnumber5000超时时间(毫秒)

返回值

类型说明
Promise<any[]>Promise,成功时返回页面栈数组,超时时抛出错误

异常

错误类型触发条件错误信息
Error等待超时等待页面栈超时

工作原理

  1. 开始轮询:每100毫秒检查一次页面栈
  2. 检查页面栈:调用 getCurrentPages() 获取当前页面栈
  3. 判断结果
    • 如果页面栈不为空,立即返回页面栈数组
    • 如果超过超时时间,抛出错误
    • 否则继续等待
  4. 返回结果:成功时返回页面栈数组

适用于需要在页面栈建立后执行操作的场景,如获取当前页面路由等。