uni-app?中清除定時(shí)器實(shí)現(xiàn)方法詳解
uni-app 中清除定時(shí)器
注意:
無論是獲取短信碼,還是在活動(dòng)頁輪詢獲取當(dāng)前活動(dòng)最新信息,都需要用到定時(shí)器。但是,定時(shí)器如果不及時(shí)合理地清除,會造成業(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()對應(yīng)的是 clearTimeout(id);
setInterval()對應(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í)會返回一個(gè)id)
若沒有加判斷條件和將timer = null,會導(dǎo)致頁面卸載的時(shí)候無法清空定時(shí)器。
onUnload:function(){ if(this.timer) { //在頁面卸載時(shí)清除定時(shí)器有時(shí)會清除不了,可在頁面跳轉(zhuǎn)時(shí)清除 clearInterval(this.timer); this.timer = null; } }
優(yōu)化:清除時(shí)機(jī)(在頁面卸載時(shí)清除定時(shí)器有時(shí)會清除不了,可在頁面跳轉(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í)器的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript中表格文件導(dǎo)出的實(shí)現(xiàn)示例
本文主要介紹了JavaScript中表格文件導(dǎo)出的實(shí)現(xiàn)示例,JavaScript中的Blob對象和a標(biāo)簽的download屬性是實(shí)現(xiàn)這一功能的關(guān)鍵,本文就來詳細(xì)的介紹一下,感興趣的可以了解一下2024-01-01Bootstrap實(shí)現(xiàn)帶暫停功能的輪播組件(推薦)
最近小編在項(xiàng)目中用到了一款帶輪播組件,功能非常齊全,可以設(shè)置各種標(biāo)題樣式、動(dòng)畫效果、輪播時(shí)間、開始暫停等功能,下面小編通過本文給大家詳細(xì)介紹下實(shí)現(xiàn)過程,需要的朋友參考下吧2016-11-11JS實(shí)現(xiàn)仿中關(guān)村論壇評分后彈出提示效果的方法
這篇文章主要介紹了JS實(shí)現(xiàn)仿中關(guān)村論壇評分后彈出提示效果的方法,實(shí)例分析了javascript彈出特效的css與提示框的具體實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02javascript實(shí)現(xiàn)2016新年版日歷
這篇文章主要為大家介紹了javascript實(shí)現(xiàn)2016新年版日歷的詳細(xì)代碼,感興趣的小伙伴們可以參考一下2016-01-01JS實(shí)現(xiàn)彈出下載對話框及常見文件類型的下載
JS要實(shí)現(xiàn)下載功能,一般都是這么幾個(gè)過程:生成下載的URL,動(dòng)態(tài)創(chuàng)建一個(gè)A標(biāo)簽,并將其href指向生成的URL,然后觸發(fā)A標(biāo)簽的單擊事件,這樣就會彈出下載對話框,從而實(shí)現(xiàn)了一個(gè)下載的功能2017-07-07小程序input數(shù)據(jù)雙向綁定實(shí)現(xiàn)方法
這篇文章主要介紹了小程序input數(shù)據(jù)雙向綁定實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10JavaScript、jQuery與Ajax的關(guān)系
這篇文章主要介紹了 JavaScript、jQuery與Ajax的關(guān)系的相關(guān)資料,需要的朋友可以參考下2016-01-01