[英]JavaScript run a function multiple times every 4 sec
我一直在編寫一段代碼,我想知道是否有一個內置的JavaScript方法,該方法允許每4秒運行一次功能,例如每秒運行5次。
您的問題是模棱兩可的,因為尚不清楚您是要在每個間隔中調用該函數五次,還是要以一定間隔調用該函數, 直到被調用五次為止 。
您可以輕松地為此編寫一個高階函數:
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);
}
您正在查看setInverval函數。
var counter = 0;
function someFunction(){
console.log('hello world')
}
var interVal = setInterval(function(){
conter++;
if (counter < 5) {
someFunction();
}
else {
clearInterval(interVal );
}
}, 4000);
setInterval
將重復運行函數,並且它們之間具有自定義延遲。 要運行五次,您必須自己處理,例如
setInterval(function(){
for (var i = 0; i < 5; i++){
myFunction();
}
},4000);
https://developer.mozilla.org/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/setInterval
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.