解决js中的setInterval清空定时器不管用问题
程序员文章站
2022-03-24 09:00:48
使用场景:我在函数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清空定时器不管用问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
用v-html解决Vue.js渲染中html标签不被解析的问题
-
vue.js中v-on:textInput无法执行事件问题的解决过程
-
angular.js中解决跨域问题的三种方式
-
js中图片加载失败,显示默认图片的问题如何解决?
-
JS解决IOS中拍照图片预览旋转90度BUG的问题
-
解决mui框架中switch开关通过js控制开或者关状态时小圆点不动的问题
-
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
-
解决Django中修改js css文件但浏览器无法及时与之改变的问题
-
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
-
JS中批量给元素绑定事件过程中的相关问题使用闭包解决