setTimeout 不断吐食CPU的问题分析


Posted in Javascript onApril 01, 2009
<script language="javascript"> 
function PollConn(){ 
TimeCounter=window.setTimeout('PollConn();',5000); 
function StopPoll(){ 
window.clearTimeout(TimeCounter) 
} 
PollConn(); 
</script>

上面的方法一般是比较通用的方法。不停的每隔5秒钟调用一下自己。在一般的运用中,用户访问含有这样代码的页是没感觉出它有什么问题。但是如果用户在这样的页里需要停留的时间很长,就会用问题。因为setTimeout会不停的“吐食”CPU,慢慢的CPU最终会被这样的代码吃光,造成IE死掉,或停止执行。
解决的办法,在下次调用之前先用clearTimeout清除一下。
<script language="javascript"> 
function PollConn(){ 
if(TimeCounter) window.clearTimeout(TimeCounter) //清除上次的setTimeout 
TimeCounter=window.setTimeout('PollConn();',5000); 
function StopPoll(){ 
window.clearTimeout(TimeCounter) 
} 
PollConn(); 
</script>
Javascript 相关文章推荐
图像替换新技术 状态域方法
Jan 28 Javascript
Javascript 页面模板化很多人没有使用过的方法
Jun 05 Javascript
javascript获取浏览器类型和版本的方法(js获取浏览器版本)
Mar 13 Javascript
JavaScript使用slice函数获取数组部分元素的方法
Apr 06 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
Jul 29 Javascript
JS实现IE状态栏文字缩放效果代码
Oct 24 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
Oct 18 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
Jul 03 Javascript
vue实现全匹配搜索列表内容
Sep 26 Javascript
vue如何使用async、await实现同步请求
Dec 09 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
Jan 27 Javascript
js Flash插入函数免激活代码
Mar 31 #Javascript
响应鼠标变换表格背景或者颜色的代码
Mar 30 #Javascript
用JavaScript实现单继承和多继承的简单方法
Mar 29 #Javascript
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 #Javascript
一个tab标签切换效果代码
Mar 27 #Javascript
js onpropertychange输入框 事件获取属性
Mar 26 #Javascript
input 高级限制级用法
Mar 26 #Javascript
You might like
PHP-Java-Bridge使用笔记
2014/09/22 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
jQuery插件Slider Revolution实现响应动画滑动图片切换效果
2015/06/05 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
ReactJs设置css样式的方法
2017/06/08 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
如何基于vue-cli3.0构建功能完善的移动端架子
2019/04/24 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
js实现录音上传功能
2019/11/22 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
python中sets模块的用法实例
2014/09/30 Python
详解Python中映射类型的内建函数和工厂函数
2015/08/19 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
详解用python -m http.server搭一个简易的本地局域网
2020/09/24 Python
微信小程序之html5 canvas绘图并保存到系统相册
2019/06/20 HTML / CSS
找到不普通的东西:Bonanza
2016/10/20 全球购物
西安众合通用.net笔试题
2013/03/18 面试题
物业保安主管岗位职责
2013/12/25 职场文书
文明村镇申报材料
2014/05/06 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
民事代理词范文
2015/05/25 职场文书
复兴之路观后感3000字
2015/06/02 职场文书
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python