聊者说

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

2020-10-16  本文已影响0人  聊者说

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

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()
  },
})

总结

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

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

上一篇 下一篇

猜你喜欢

热点阅读