实现一个计时器/秒
其实就是要求对某字段每秒执行一次更新
这里用到了官方给的定时器
官方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
})
}