小程序小程序--定時(shí)器(定時(shí)任務(wù)、循環(huán)任務(wù))

微信小程序要設(shè)定一個(gè)定時(shí)器有兩種方法

1、setInterval:按照指定的周期(以毫秒計(jì))來(lái)執(zhí)行注冊(cè)的回調(diào)函數(shù)
2、setTimeout:在定時(shí)到期以后執(zhí)行注冊(cè)的回調(diào)函數(shù)

詳情請(qǐng)參閱小程序開發(fā)文檔
setInterval
setTimeout

setInterval和 setTimeout方法有什么區(qū)別

setInterval,指定某個(gè)任務(wù)每隔一段時(shí)間就執(zhí)行一次,也就是無(wú)限次的定時(shí)執(zhí)行表達(dá)式
setTimeout,指定某個(gè)任務(wù)在指定的時(shí)間后執(zhí)行一次表達(dá)式(重要的事情說(shuō)三遍:一次,一次,一次)

PS 及時(shí)回收定時(shí)器

定時(shí)器是全局的,并不是跟頁(yè)面綁定的,當(dāng)小程序從一個(gè)頁(yè)面路由到另一個(gè)頁(yè)面之后,前一個(gè)頁(yè)面定時(shí)器應(yīng)注意手動(dòng)回收。

及時(shí)回收定時(shí)器
clearInterval
clearTimeout

好了,上代碼

setInterval定時(shí)器應(yīng)用,代碼如下(示例):

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

  /**
   * 啟動(dòng)定時(shí)器
   */
  startInter : function(){
    var that = this;
    that.data.inter= setInterval(
        function () {
            // TODO 你需要無(wú)限循環(huán)執(zhí)行的任務(wù)
            console.log('setInterval 每過(guò)500毫秒執(zhí)行一次任務(wù)')
        }, 500);    
  },

  /**
   * 結(jié)束定時(shí)器
   */
  endInter: function(){
    var that = this;
    that.clearInterval(that.data.inter)
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁(yè)面卸載
   */
  onUnload: function () {
    this.endInter()
  },
})

setTimeout 定時(shí)器應(yīng)用,代碼如下(示例):

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

  /**
   * 啟動(dòng)定時(shí)器
   */
  startTimer : function(){
    var that = this;
    that.data.timer = setTimeout(
        function () {
            // TODO 你需要執(zhí)行的任務(wù)
            console.log('startTimer  500毫秒后執(zhí)行一次任務(wù)')
        }, 500);    
  },

  /**
   * 結(jié)束定時(shí)器
   */
  endTimer: function(){
    var that = this;
    clearTimeout(that.data.timer)
  },

  /**
   * 生命周期函數(shù)--監(jiān)聽頁(yè)面卸載
   */
  onUnload: function () {
    this.endTimer()
  },
})

總結(jié)

感謝大家看完,更多精彩等待下次創(chuàng)作,你最大的支持就是:贊同+評(píng)論+贊賞+...,關(guān)注我。

另外,也歡迎大家關(guān)注我的個(gè)人公眾號(hào) “聊者說(shuō)”。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容