setTimeout 不斷吐食CPU的問題分析
更新時(shí)間:2009年04月01日 00:47:48 作者:
有時(shí)候我們在使用setTimeout的時(shí)候會導(dǎo)致IE特別占用cpu,有可能會導(dǎo)致死機(jī)等情況。
復(fù)制代碼 代碼如下:
<script language="javascript">
function PollConn(){
TimeCounter=window.setTimeout('PollConn();',5000);
function StopPoll(){
window.clearTimeout(TimeCounter)
}
PollConn();
</script>
上面的方法一般是比較通用的方法。不停的每隔5秒鐘調(diào)用一下自己。在一般的運(yùn)用中,用戶訪問含有這樣代碼的頁是沒感覺出它有什么問題。但是如果用戶在這樣的頁里需要停留的時(shí)間很長,就會用問題。因?yàn)閟etTimeout會不停的“吐食”CPU,慢慢的CPU最終會被這樣的代碼吃光,造成IE死掉,或停止執(zhí)行。
解決的辦法,在下次調(diào)用之前先用clearTimeout清除一下。
復(fù)制代碼 代碼如下:
<script language="javascript">
function PollConn(){
if(TimeCounter) window.clearTimeout(TimeCounter) //清除上次的setTimeout
TimeCounter=window.setTimeout('PollConn();',5000);
function StopPoll(){
window.clearTimeout(TimeCounter)
}
PollConn();
</script>
相關(guān)文章
前端for循環(huán)遍歷foreach、map使用方法舉例
這篇文章主要介紹了前端開發(fā)中不同類型的for循環(huán)遍歷,包括for、foreach和map,詳細(xì)探討了它們的使用場景、效率和特點(diǎn),需要的朋友可以參考下2025-02-02
javascript打印大全(打印頁面設(shè)置/打印預(yù)覽代碼)
打印頁面設(shè)置,打印頁面預(yù)覽在打印過程中經(jīng)常會遇到,網(wǎng)上搜集整理了一些實(shí)用的打印方法與大家分享,感興趣的朋友可以了解下哈2013-03-03
解決LayUI加上form.render()下拉框和單選以及復(fù)選框不出來的問題
今天小編就為大家分享一篇解決LayUI加上form.render()下拉框和單選以及復(fù)選框不出來的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
BootstrapTable與KnockoutJS相結(jié)合實(shí)現(xiàn)增刪改查功能【二】
這篇文章主要介紹了BootstrapTable與KnockoutJS相結(jié)合實(shí)現(xiàn)增刪改查功能【二】的相關(guān)資料,非常具有參考價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
js中symbol類型以及symbol的三大應(yīng)用場景詳解
Symbol是ES6新推出的一種基本類型,它表示獨(dú)一無二的值,它可以接受一個(gè)字符串作為參數(shù),帶有相同參數(shù)的兩個(gè)Symbol值不相等,這個(gè)參數(shù)只是表示Symbol值的描述而已,下面這篇文章主要給大家介紹了關(guān)于js中symbol類型以及symbol的三大應(yīng)用場景,需要的朋友可以參考下2022-09-09
SelectPage v2.4 發(fā)布新增純下拉列表和關(guān)閉分頁功能
下拉分頁選擇插件 SelectPage v2.4 發(fā)布了,新增純下拉列表和關(guān)閉分頁功能,下面通過本文給大家啊介紹SelectPage的相關(guān)知識,感興趣的的朋友一起看看吧2017-09-09

