文章詳情頁
uni-app?中清除定時器實現方法詳解
瀏覽:12日期:2022-06-13 13:45:59
目錄uni-app 中清除定時器參考方法定時器的方法清除定時器方法uni-app 中清除定時器
JS之延時器和定時器
注意:
無論是獲取短信碼,還是在活動頁輪詢獲取當前活動最新信息,都需要用到定時器。但是,定時器如果不及時合理地清除,會造成業務邏輯混亂甚至應用卡死的情況。
uni-app 中在某個頁面中啟動定時器后,一定要在頁面關閉時將定時器清除掉。即在頁面卸載(關閉)的生命周期函數里,清除定時器。
參考方法定時器的方法定時器一般有兩個
1)setTimeout();//n毫秒后執行一次
2)setInterval();//每隔n秒執行一次
這兩個方法都有個返回值,返回一個定時器id,可以定義一個變量接收
清除定時器方法setTimeout()對應的是 clearTimeout(id);
setInterval()對應的是 clearInterval(id);
例如:
var time = setInterval('lunRight()',3000);//自動輪播 box.onmouseover=function(){ clearInterval(time);}//鼠標移入輪播圖時取消自動輪播 var i = setTimeout(function(){ },1000); //setTimeout 1000ms后執行1次 clearTimeout(i); //清除Timeout的定時器,傳入id(創建定時器時會返回一個id)若沒有加判斷條件和將timer = null,會導致頁面卸載的時候無法清空定時器。
onUnload:function(){ if(this.timer) { //在頁面卸載時清除定時器有時會清除不了,可在頁面跳轉時清除clearInterval(this.timer); this.timer = null; } }優化:清除時機(在頁面卸載時清除定時器有時會清除不了,可在頁面跳轉時清除)
clearMyTimer:function(){ if(timer) {console.log('check-清除定時器'); clearInterval(timer); timer = null; }},logout:function(){ _self.sendRequest({url : 'user/logout',data : { mobile : _self.userPhone},success:function(res){ _self.clearSession();//清空token _self.clearMyTimer();//清除定時器 uni.reLaunch({url: '/pages/login2/login2' })},fail:function(e){},complete:function(){} })},以上就是uni-app 中清除定時器的詳細內容,更多關于uni-app 清除定時器的資料請關注好吧啦網其它相關文章!
標簽:
JavaScript
排行榜
