小程序隨筆16:setTimeout和setInterval的區(qū)別

在最近的學習官方文檔過程中,經(jīng)常用到定時的操作,一個是setTimeout,另一個是setInterval,那這兩者有什么區(qū)別呢。

setTimeout

設(shè)定一個定時器,在定時到期以后執(zhí)行注冊的回調(diào)函數(shù)。

number setTimeout(function callback, number delay, any rest)

1?function callback 表示回調(diào)函數(shù)
2?number delay 表示延遲的時間,函數(shù)的調(diào)用會在該延遲之后發(fā)生,單位 ms。
3?any rest 表示param1, param2, ..., paramN 等附加參數(shù),它們會作為參數(shù)傳遞給回調(diào)函數(shù)。
4?number 表示定時器的編號。這個值可以傳遞給 clearTimeout 來取消該定時。

setTimeout(()=>{
      console.info("我只執(zhí)行一次")
    }, 2000)

setInterval

設(shè)定一個定時器,按照指定的周期(以毫秒計)來執(zhí)行注冊的回調(diào)函數(shù)。

number setInterval(function callback, number delay, any rest)

1?function callback 表示回調(diào)函數(shù)
2?number delay 表示執(zhí)行回調(diào)函數(shù)之間的時間間隔,單位 ms。
3?any rest 表示param1, param2, ..., paramN 等附加參數(shù),它們會作為參數(shù)傳遞給回調(diào)函數(shù)。
4?返回值number 表示定時器的編號。這個值可以傳遞給 clearInterval 來取消該定時。

onShow: function () {
    this.timer= setInterval(()=>{
      console.info("我循環(huán)執(zhí)行")
    }, 2000)
  },

  onUnload: function () {
    clearInterval(this.timer); //取消該定時
  },

總結(jié):
setTimeout用于延遲執(zhí)行某方法或功能,單次的。
setInterval用于循環(huán)延遲執(zhí)行某方法或功能,多次的,直到clearInterval取消。

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

相關(guān)閱讀更多精彩內(nèi)容

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