首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

小程序倒计时深究

因为请求数据写在onShow 函数里面,所以每次切换界面都会刷新,这就会导致,如果当前 定时器在跑的话,再次刷新会再次常见定时, 那么就会导致刷新几次有几个定时器,同时在跑,那么前端界面显示的计时数字 就会不时跳动,所以需要保证在跑的定时器只有一个。将定时器对象创建为全局的,在每次开启定时器的时候先清空之前的定时器。就可以解决刷新后计时闪动的问题了,或者在在tab页面,运用 onHide 周期 进行 clearTimeInterval清空 , 在 非tab页面,运用onUload() 周期 进行 clearTimeInterval清空,百度都可以找到类似解决方案,其中在我的历史文章小程序实战踩坑之B2B商城项目总结也有总结,代码类似如下:

02

vue+element踩坑记-公共组件里面做一个计时器

我在做自助机入住的业务的时候,有这样的一个情况,用户在没一个页面都需要自己操作,例如:预定,刷身份证,输入订单号,人脸识别等等操作,每一个页面都需要一定的时间进行操作,但是会有一种情况,刷身份证的时候,我是页面进来的时候就通知安卓调取硬件的信息,进行身份识别,这个时候安卓那边会告诉我有没有读取成功,如果没有我继续发送读取的请求,在机器没有故障的情况下,直到读取成功才停止,但是如果客户今天没有拿身份证呢?他走了,因为是自助机,所以是没有服务员的,那么如果有素质的顾客是会直接点击回到主页就走的,这样不会影响别的客户使用,那么如果他没有点击,那么就会一直请求按照调取硬件识别身份证的操作,这样显然是不行的,所以我需要做的是每一个页面进来的时候就开始计时90秒,如果90秒以内客户还没有操作结束,我就认为他不再操作了,直接返回到主页。今天就简单的记录一下我实现的过程!

02
领券