小程序异步处理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
    })
}
posted @   李帆1998  阅读(887)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
主题色彩