uni-app?中清除定時(shí)器實(shí)現(xiàn)方法詳解
uni-app 中清除定時(shí)器
注意:
無論是獲取短信碼,還是在活動(dòng)頁輪詢獲取當(dāng)前活動(dòng)最新信息,都需要用到定時(shí)器。但是,定時(shí)器如果不及時(shí)合理地清除,會(huì)造成業(yè)務(wù)邏輯混亂甚至應(yīng)用卡死的情況。
uni-app 中在某個(gè)頁面中啟動(dòng)定時(shí)器后,一定要在頁面關(guān)閉時(shí)將定時(shí)器清除掉。即在頁面卸載(關(guān)閉)的生命周期函數(shù)里,清除定時(shí)器。
參考方法
定時(shí)器的方法
定時(shí)器一般有兩個(gè)
1)setTimeout();//n毫秒后執(zhí)行一次
2)setInterval();//每隔n秒執(zhí)行一次
這兩個(gè)方法都有個(gè)返回值,返回一個(gè)定時(shí)器id,可以定義一個(gè)變量接收
清除定時(shí)器方法
setTimeout()對(duì)應(yīng)的是 clearTimeout(id);
setInterval()對(duì)應(yīng)的是 clearInterval(id);
例如:
var time = setInterval("lunRight()",3000);//自動(dòng)輪播
box.onmouseover=function(){
clearInterval(time);
}//鼠標(biāo)移入輪播圖時(shí)取消自動(dòng)輪播
var i = setTimeout(function(){
},1000); //setTimeout 1000ms后執(zhí)行1次
clearTimeout(i); //清除Timeout的定時(shí)器,傳入id(創(chuàng)建定時(shí)器時(shí)會(huì)返回一個(gè)id)若沒有加判斷條件和將timer = null,會(huì)導(dǎo)致頁面卸載的時(shí)候無法清空定時(shí)器。
onUnload:function(){
if(this.timer) { //在頁面卸載時(shí)清除定時(shí)器有時(shí)會(huì)清除不了,可在頁面跳轉(zhuǎn)時(shí)清除
clearInterval(this.timer);
this.timer = null;
}
}
優(yōu)化:清除時(shí)機(jī)(在頁面卸載時(shí)清除定時(shí)器有時(shí)會(huì)清除不了,可在頁面跳轉(zhuǎn)時(shí)清除)
clearMyTimer:function(){
if(timer) {
console.log("check-清除定時(shí)器");
clearInterval(timer);
timer = null;
}
},
logout:function(){
_self.sendRequest({
url : "user/logout",
data : {
mobile : _self.userPhone
},
success:function(res){
_self.clearSession();//清空token
_self.clearMyTimer();//清除定時(shí)器
uni.reLaunch({
url: "/pages/login2/login2"
})
},
fail:function(e){},
complete:function(){}
})
},以上就是uni-app 中清除定時(shí)器的詳細(xì)內(nèi)容,更多關(guān)于uni-app 清除定時(shí)器的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
ES6中export?default和export之間的區(qū)別詳解
export和export?default都是es6語法中用來導(dǎo)出組件的,可以導(dǎo)出的文檔類型有(?數(shù)據(jù)、常量、函數(shù)、js文件、模塊等),下面這篇文章主要給大家介紹了關(guān)于ES6中export?default和export之間的區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-04-04
js限制input只能輸入有效的數(shù)字(第一個(gè)不能是小數(shù)點(diǎn))
有時(shí)候我們需要限制input只能輸入有效的數(shù)字,有且只有一個(gè)小數(shù)點(diǎn),第一個(gè)不能為小數(shù)點(diǎn),那么就可以參考下面的函數(shù)來實(shí)現(xiàn)2018-09-09
js相冊(cè)效果代碼(點(diǎn)擊創(chuàng)建即可)
利用js 書寫的相冊(cè)代碼,點(diǎn)擊創(chuàng)建即可看到效果,感興趣的朋友可以參考下哈,希望對(duì)你學(xué)習(xí)jquery有所幫助2013-04-04
js事件驅(qū)動(dòng)機(jī)制 瀏覽器兼容處理方法
下面小編就為大家?guī)硪黄猨s事件驅(qū)動(dòng)機(jī)制 瀏覽器兼容處理方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-07-07
微信小程序?qū)崿F(xiàn)電影App導(dǎo)航和輪播
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)電影App導(dǎo)航和輪播,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11
sencha touch 模仿tabpanel導(dǎo)航欄TabBar的實(shí)例代碼
這篇文章介紹了sencha touch 模仿tabpanel導(dǎo)航欄TabBar的實(shí)例代碼,有需要的朋友可以參考一下2013-10-10

