收藏
回答

红米5 plus 用setTimeout有bug



这段代码中在红米5 plus里面有bug,如打开的页面5分钟左右不操作(打开页面立即执行setTimeout没问题,必须要等待几分钟),然后执行setTimeout,大概需要30S左右才会执行setTimeout里面的this.setData,经测试,在其他页面不同方法问题同样存在。微信6.6.6和6.6.7问题一样。手机系统版本:MIUI 9.5.5.0 稳定版。


最后一次编辑于  2018-06-08  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

1 个回答

  • 展小哥
    展小哥
    2018-06-08

    确实如此,我是小米6,微信版本6.6.6,我的情况是这样的,先贴代码

    let animation = {};
    animation = wx.createAnimation({ duration: 400, timingFunction: 'ease' });
    animation.translateX('-100%').step();
    this.setData({ aniExamData: animation.export() });
    setTimeout(() => {
        animation = wx.createAnimation({ duration: 0, timingFunction: 'linear' });
        animation.translateX('100%').step();
        this.setData({ aniExamData: animation.export() });
    }, 400);

    页面有个按钮,点击按钮,视图跑出左边,等待动画执行完成,0毫秒定位到右边,

    我调试的时候,在小程序页面把手机锁屏了,等了几分钟,点亮屏幕,点击按钮,视图正常跑出左边,

    但是定时器400ms的回调不执行,等了大概20秒后,才执行定时器的回调事件,

    情况跟楼主的一样,只不过他是亮屏等待的,我是锁屏后等待的

    2018-06-08
    赞同 2
    回复 1
    • 绝非
      绝非
      2018-06-11

      没有官方人员解答呀。现在尽量不用setTimeout。


      2018-06-11
      回复