收藏
回答

关于定时器及倒计时的一些问题

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug setInterval 微信iOS客户端 6.6.7 2.1.1

1、开启定时器后,点右上角关闭按钮退出小程序,定时器会不准;

2、后端传一个目标时间,在定时器里获取当前时间,两者相减得出剩余时间,可是new Date获取的是客户端的系统时间,当用户修改手机时间,是可以随意控制倒计时的时间的;

3、还是用第一种方法,只是在onShow里调用后端接口,修改剩余时间,可是我们小程序会经常用到选择本地相册,从相册回到小程序也会出发onShow,导致http请求频繁

4、倒计时会每秒setData一次,会不会出现性能问题




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

1 个回答

  • 卢霄霄
    卢霄霄
    2018-06-27

    每秒1次,看你处理的内容有多少,如果只是个倒计时的展示,只要不是驱动原画蓝光级别的精细效果,应该不会卡。

    setTimeout是不准的,但是new Date().getTime()是准的~

    2018-06-27
    赞同
    回复 6
    • Rivers
      Rivers
      2018-06-27

      new Date().getTime()获取的是手机系统时间的时间戳,只要修改手机时间就可以随意改变倒计时剩余的时间了

      2018-06-27
      回复
    • 卢霄霄
      卢霄霄
      2018-06-27回复Rivers

      你的场景是什么?倒计时的时长大概多少?

      2018-06-27
      回复
    • Rivers
      Rivers
      2018-06-27回复卢霄霄

      支付完成后有120秒的体验时间,当有人在体验时其他人是排队时间,所以倒计时的时长理论上是120秒到2小时之间

      2018-06-27
      回复
    • 卢霄霄
      卢霄霄
      2018-06-27回复Rivers

      挺长的,我建议客户端显示,就按照一般的倒计时显示走,到期的真实情况,可以每5秒问一次后台服务器

      2018-06-27
      回复
    • Rivers
      Rivers
      2018-06-27

      每5秒一次http请求会不会挺太频繁了?我在考虑用socket连接,就是没用过socket,不知道会不会有什么隐患

      2018-06-27
      回复
    查看更多(1)