我一直在处理一段代码,我想知道是否有一个内置的JavaScript方法,允许每4秒运行一次函数,例如5秒。
答案 0 :(得分:2)
你的问题是不明确的,因为不清楚是否要在每个间隔内调用该函数五次,或者用间隔调用它,直到它被调用五次
您可以轻松地为此编写更高阶的函数:
function multi_repeat(f,dmsec,times) {
function foo() {
setTimeout(foo,dmsec);
for(var i = 0; i < times; i++) {
f();
}
}
setTimeout(foo,dmsec);
}
现在,如果您的功能是:
function the_alert() {
alert("Hi");
}
您可以使用以下命令运行:
multi_repeat(the_alert,4000,5);
其中4000
是毫秒数(所以4
秒是4000
毫秒),5
是应该调用函数的次数。
如果程序在5次调用后停止,您可以定义另一个更高阶函数:
function repeat_stop(f,dmsec,times) {
var count = 0;
function foo() {
f();
count++;
if(count < times) {
setTimeout(foo,dmsec);
}
}
setTimeout(foo,dmsec);
}
答案 1 :(得分:0)
您正在查看setInverval函数。
var counter = 0;
function someFunction(){
console.log('hello world')
}
var interVal = setInterval(function(){
conter++;
if (counter < 5) {
someFunction();
}
else {
clearInterval(interVal );
}
}, 4000);
答案 2 :(得分:-1)
setInterval
将重复运行一个函数,它们之间会有自定义延迟。要运行它五次,你必须自己处理,例如
setInterval(function(){
for (var i = 0; i < 5; i++){
myFunction();
}
},4000);
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval