# wx.requestIdleCallback(function callback, Object object)

基础库 3.10.0 开始支持,低版本需做兼容处理。

小程序插件:不支持

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

# 功能描述

注册一个函数,将在空闲时期被调用。部分场景下回调可能同步执行,详见注意事项。

# 参数

# function callback

# Object object

属性 类型 默认值 必填 说明
timeout number 否

# 注意事项

  1. 本接口不保证回调始终异步执行。小程序进入后台后,为避免后续任务因运行环境挂起而无法执行,回调可能在本次 wx.requestIdleCallback 调用返回前同步执行。
  2. 回调依赖的变量和状态应在调用本接口前完成初始化,调用方需兼容同步和异步两种执行时序。
示例代码 <div class="language-js extra-class"><pre class="language-js"><code v-pre><span class="token comment">// 回调依赖的变量应在注册前初始化。</span> <span class="token keyword">const</span> message <span class="token operator">=</span> <span class="token string">'idle'</span> <span class="token keyword">const</span> IdleCallbackId <span class="token operator">=</span> wx<span class="token punctuation">.</span><span class="token function">requestIdleCallback</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span> console<span class="token punctuation">.</span><span class="token function">log</span><span class="token punctuation">(</span>message<span class="token punctuation">)</span> <span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token punctuation">{</span> <span class="token literal-property property">timeout</span><span class="token operator">:</span> <span class="token number">3000</span> <span class="token punctuation">}</span><span class="token punctuation">)</span> </code></pre></div>