小程序小程序--定时器(定时任务、循环任务)

微信小程序要设定一个定时器有两种方法

1、setInterval:按照指定的周期(以毫秒计)来执行注册的回调函数
2、setTimeout:在定时到期以后执行注册的回调函数

详情请参阅小程序开发文档
setInterval
setTimeout

setInterval和 setTimeout方法有什么区别

setInterval,指定某个任务每隔一段时间就执行一次,也就是无限次的定时执行表达式
setTimeout,指定某个任务在指定的时间后执行一次表达式(重要的事情说三遍:一次,一次,一次)

PS 及时回收定时器

定时器是全局的,并不是跟页面绑定的,当小程序从一个页面路由到另一个页面之后,前一个页面定时器应注意手动回收。

及时回收定时器
clearInterval
clearTimeout

好了,上代码

setInterval定时器应用,代码如下(示例):

Page({
  data: {
    inter: '',
  },

  /**
   * 启动定时器
   */
  startInter : function(){
    var that = this;
    that.data.inter= setInterval(
        function () {
            // TODO 你需要无限循环执行的任务
            console.log('setInterval 每过500毫秒执行一次任务')
        }, 500);    
  },

  /**
   * 结束定时器
   */
  endInter: function(){
    var that = this;
    that.clearInterval(that.data.inter)
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    this.endInter()
  },
})

setTimeout 定时器应用,代码如下(示例):

Page({
  data: {
    timer : '',
  },

  /**
   * 启动定时器
   */
  startTimer : function(){
    var that = this;
    that.data.timer = setTimeout(
        function () {
            // TODO 你需要执行的任务
            console.log('startTimer  500毫秒后执行一次任务')
        }, 500);    
  },

  /**
   * 结束定时器
   */
  endTimer: function(){
    var that = this;
    clearTimeout(that.data.timer)
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    this.endTimer()
  },
})

总结

感谢大家看完,更多精彩等待下次创作,你最大的支持就是:赞同+评论+赞赏+...,关注我

另外,也欢迎大家关注我的个人公众号 “聊者说”。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容