首页 > 代码库 > 清除定时器 和 vue 中遇到的定时器setTimeout问题
清除定时器 和 vue 中遇到的定时器setTimeout问题
--------------VUE项目中遇到一个问题。a.vue 文件中触发setTimeout后,使用按钮跳转至其他页面,快速返回至a.vue页面后 发现定时器仍然在走。
例子:a.vue代码
window.setTimeout(function(){ window.location.href = "http://www.mamicode.com/serverMonitor?t="+ new Date().getTime(); },5000)
解决办法:
window.setTimeout(function(){ if(this && !this._isDestroyed){ //_isDestroyed 组件是否被销毁 return; } window.location.href = "http://www.mamicode.com/serverMonitor?t="+ new Date().getTime(); },5000)
--------------清除定时器
定时器一般有两个
1、setTimeout();//n毫秒后执行一次
2、setInterval();//每隔n秒执行一次
setTimeout()对应的是 clearTimeout(funName);
setInterval()对应的是 clearInterval(funName);
<script> var funName1 = setTimeout(function(){ return ; },1000); var funName2 = setInterval(function(){ return fun2; },1000) //清除Timeout的定时器,传入id(创建定时器时会返回一个id) clearTimeout(funName1 ); //清除Interval的定时器,传入id(创建定时器时会返回一个id) clearInterval(funName2 ); </script>
清除定时器 和 vue 中遇到的定时器setTimeout问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。