Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我每1分钟调用一次循环函数,设置超时在1和2次循环调用后递归调用,为什么。函数在调用之前调用了两次?_Javascript - Fatal编程技术网

Javascript 我每1分钟调用一次循环函数,设置超时在1和2次循环调用后递归调用,为什么。函数在调用之前调用了两次?

Javascript 我每1分钟调用一次循环函数,设置超时在1和2次循环调用后递归调用,为什么。函数在调用之前调用了两次?,javascript,Javascript,每隔一分钟调用一次循环函数,请参阅下面的注释以了解我的问题。请我看不出代码有任何问题,并且对话框函数没有重复。下面的代码供其他人参考,因为您问题中的代码似乎已损坏 函数mydialog(){ console.log(“对话框”) } 函数循环(){ console.log(“已执行”) var rand=Math.round(Math.random()*100)*600; 变量c=200 setTimeout(函数(){ c=c+1 mydialog(); },兰特); console.lo

每隔一分钟调用一次循环函数,请参阅下面的注释以了解我的问题。请

我看不出代码有任何问题,并且对话框函数没有重复。下面的代码供其他人参考,因为您问题中的代码似乎已损坏

函数mydialog(){
console.log(“对话框”)
} 
函数循环(){
console.log(“已执行”)
var rand=Math.round(Math.random()*100)*600;
变量c=200
setTimeout(函数(){
c=c+1
mydialog();
},兰特);
console.log({rand})
}

设置间隔(循环,60000)每一分钟后校准循环功能。但对于每一分钟后的函数mydialog();正在加倍到上一个呼叫。示例:第一分钟:mydialog()第二分钟:mydialog()mydialog()第三分钟:mydialog()mydialog()mydialog()mydialog()这就是我在循环函数中获取SettingInterval(loop,60000)的方式
(
  function loop(){
      var rand=Math.round(Math.random()*100)*600;
   
      setTimeout(function(){

          mydialog();
      }, rand);
      console.log(rand)
      setInterval(loop, 60000);
  }()
                
);