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

实现一个计时器/秒

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

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

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

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

小程序异步处理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
    })
}