1、开启定时器后,点右上角关闭按钮退出小程序,定时器会不准;
2、后端传一个目标时间,在定时器里获取当前时间,两者相减得出剩余时间,可是new Date获取的是客户端的系统时间,当用户修改手机时间,是可以随意控制倒计时的时间的;
3、还是用第一种方法,只是在onShow里调用后端接口,修改剩余时间,可是我们小程序会经常用到选择本地相册,从相册回到小程序也会出发onShow,导致http请求频繁
4、倒计时会每秒setData一次,会不会出现性能问题
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
小程序 | Bug | setInterval | 微信iOS客户端 | 6.6.7 | 2.1.1 |
1、开启定时器后,点右上角关闭按钮退出小程序,定时器会不准;
2、后端传一个目标时间,在定时器里获取当前时间,两者相减得出剩余时间,可是new Date获取的是客户端的系统时间,当用户修改手机时间,是可以随意控制倒计时的时间的;
3、还是用第一种方法,只是在onShow里调用后端接口,修改剩余时间,可是我们小程序会经常用到选择本地相册,从相册回到小程序也会出发onShow,导致http请求频繁
4、倒计时会每秒setData一次,会不会出现性能问题
1 个回答
每秒1次,看你处理的内容有多少,如果只是个倒计时的展示,只要不是驱动原画蓝光级别的精细效果,应该不会卡。
setTimeout是不准的,但是new Date().getTime()是准的~
new Date().getTime()获取的是手机系统时间的时间戳,只要修改手机时间就可以随意改变倒计时剩余的时间了
你的场景是什么?倒计时的时长大概多少?
支付完成后有120秒的体验时间,当有人在体验时其他人是排队时间,所以倒计时的时长理论上是120秒到2小时之间
挺长的,我建议客户端显示,就按照一般的倒计时显示走,到期的真实情况,可以每5秒问一次后台服务器
每5秒一次http请求会不会挺太频繁了?我在考虑用socket连接,就是没用过socket,不知道会不会有什么隐患