解决js中的setInterval清空定时器不管用问题
程序员文章站
2022-06-24 22:38:10
使用场景:我在函数a中调用定时器函数,定时器是单独写的一个函数原因:页面加载时我调用了1次函数a,然后又单独调用了一次定时器函数,导致调用了2次setinterval(),导致有setinterval...
使用场景:我在函数a中调用定时器函数,定时器是单独写的一个函数
原因:页面加载时我调用了1次函数a,然后又单独调用了一次定时器函数,导致调用了2次setinterval(),导致有setinterval_id有2个值。
通过打印定时器的值发现的问题。
clearinterval()只关闭了其中一个setinterval_id,另一个setinterval_id还会启动setinterval()。
解决方法:把单独调用的定时器函数去掉。
补充知识:js vue中settimeout无法通过cleartimeout清除问题
在异步清除中,利用vue 中data存放settimeout的标识进行清除时,无法清除。则需要在函数前加上window.即可
如window.settimeout与window.cleartimeout
具体代码如下
精简后的代码。
环境为electron-vue 渲染进程异步获取主进程上html并渲染到页面、过程中需要有loading的显示。
settimeout 与cleartimeout 未加window时,this.timeoutloading事件总会被触发。
以上这篇解决js中的setinterval清空定时器不管用问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
详解JS中定时器setInterval和setTImeout的this指向问题
-
详解JS中定时器setInterval和setTImeout的this指向问题
-
JS中双击和单击事件冲突问题的解决办法
-
在PHP中输出JS语句以及乱码问题的解决方案
-
倒计时cocos定时器schude使用的过程中 帧率浮动较大导致执行时机不准确的问题解决
-
用v-html解决Vue.js渲染中html标签不被解析的问题
-
vue.js中v-on:textInput无法执行事件问题的解决过程
-
angular.js中解决跨域问题的三种方式
-
js中图片加载失败,显示默认图片的问题如何解决?
-
JS解决IOS中拍照图片预览旋转90度BUG的问题