红米5 plus 用setTimeout有bug
发布于 6 年前 作者 guli 19077 次浏览 来自 问答

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

1 回复

确实如此,我是小米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秒后,才执行定时器的回调事件,

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

回到顶部