收藏
回答

onHide后定时器不运行

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS ios12 iphoneX 6.7.1

@林超 @黄思程 @LastLeaf @官方 小程序在切换到后台(即点击右上角或者左滑等操作退出小程序)后是否执行已经存在的定时器setTimeout和setInterval. 经测试,在开发工具上正常,但是在真机上,setInterval不执行,setTimeout也不执行,但是在再次onShow后立马执行,时间差与定时器的时间不一致。所以需要官方解释下,onHide后小程序的后台运行机制问题。

下面的案例:

onHide: function () {
  console.log('onHide已执行');
  let now = Date.now();
  console.log('当前时间为', now);
  setTimeout(() => {
    let _now = Date.now();
    console.log('当前时间为', _now);
    console.log('前后时间差为', (_now - now) / 1000, 's');
  }, 10000)
},

本来应该是10s后执行,但是打印出来的结果是33秒,也就是从onHide到onShow的时间


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容