在最近的學(xué)習(xí)官方文檔過(guò)程中扑毡,經(jīng)常用到定時(shí)的操作探遵,一個(gè)是setTimeout柳沙,另一個(gè)是setInterval岩灭,那這兩者有什么區(qū)別呢。
setTimeout
設(shè)定一個(gè)定時(shí)器赂鲤,在定時(shí)到期以后執(zhí)行注冊(cè)的回調(diào)函數(shù)噪径。
number setTimeout(function callback, number delay, any rest)
1?function callback 表示回調(diào)函數(shù)
2?number delay 表示延遲的時(shí)間,函數(shù)的調(diào)用會(huì)在該延遲之后發(fā)生数初,單位 ms找爱。
3?any rest 表示param1, param2, ..., paramN 等附加參數(shù),它們會(huì)作為參數(shù)傳遞給回調(diào)函數(shù)泡孩。
4?number 表示定時(shí)器的編號(hào)车摄。這個(gè)值可以傳遞給 clearTimeout 來(lái)取消該定時(shí)。
setTimeout(()=>{
console.info("我只執(zhí)行一次")
}, 2000)
setInterval
設(shè)定一個(gè)定時(shí)器仑鸥,按照指定的周期(以毫秒計(jì))來(lái)執(zhí)行注冊(cè)的回調(diào)函數(shù)吮播。
number setInterval(function callback, number delay, any rest)
1?function callback 表示回調(diào)函數(shù)
2?number delay 表示執(zhí)行回調(diào)函數(shù)之間的時(shí)間間隔,單位 ms眼俊。
3?any rest 表示param1, param2, ..., paramN 等附加參數(shù)意狠,它們會(huì)作為參數(shù)傳遞給回調(diào)函數(shù)。
4?返回值number 表示定時(shí)器的編號(hào)泵琳。這個(gè)值可以傳遞給 clearInterval 來(lái)取消該定時(shí)摄职。
onShow: function () {
this.timer= setInterval(()=>{
console.info("我循環(huán)執(zhí)行")
}, 2000)
},
onUnload: function () {
clearInterval(this.timer); //取消該定時(shí)
},
總結(jié):
setTimeout用于延遲執(zhí)行某方法或功能,單次的获列。
setInterval用于循環(huán)延遲執(zhí)行某方法或功能谷市,多次的,直到clearInterval取消击孩。