繁体   English   中英

在连续调用的函数中的setTimeout

[英]setTimeout in function that is continually called

我有一个用户拖动鼠标时调用的函数。 该函数的作用与此无关,但它被称为loadTiles();

我想要的是在用户拖动期间每1000ms调用一次该函数。 但是,如果我执行以下操作,则会在整个拖动过程中不断启动setTimeout:

window.ontouchmove = function(){
  setTimeout(function(){ loadTiles(); },1000);
};

有没有办法让setTimeout真正倒数1000毫秒不间断,并保持重置计数再次像setInterval

您可以设置一个布尔变量以查看它是否已运行。

var isrun=false;
window.ontouchmove = function(){
if(isrun==false){
isrun=true;
setTimeout(function(){ loadTiles(); },1000);
}
};

然后在你的loadTiles函数集中,isrun最后返回false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM