小程序异步处理demo计时器setInterval()

实现一个计时器/秒

其实就是要求对某字段每秒执行一次更新

技术分享图片
技术分享图片
技术分享图片
技术分享图片

这里用到了官方给的定时器
官方API

每秒刷新一次,所以用setInterval()方法

下面给出关键代码:

由于无关代码过多,这里尽可能贴出相关代码,但不能独立运行,关键方法已注释,使用相当简单

 /** * 是否已经呼出 * 控制状态和定时器 */var help = false;/** * 分 */var sec = 0;/** * 秒 */var min = 0;/** * 定时器id * 关闭时要用 */var timer ;Page({ data: { msg:‘110‘, label:‘一键求救‘, }, /** * 确认呼救 */ confirm(){ console.log("confirm()" ) if(help){ this.setData({ label: ‘已取消‘, msg: ‘110‘, }) help = false //清除定时器 clearInterval(timer) return } help = true //启动定时器 timer = setInterval(this.timer, 1000); this.setData({ label:‘正在呼救‘+this.data.msg, msg: ‘00:00‘ }) }, /** * 定时器回调方法 */ timer(){ sec = sec +1 if(sec==60) { min = min+1 sec = 0 } let s = sec,s1 = min if(sec<10) s = "0"+sec if(min<10) s1 = "0"+min this.setData({ msg: s1+":"+s })}

相关文章