我一直在研究一段代碼,並且想知道是否有內置的JavaScript方法,它允許函數每隔4秒運行幾秒鐘,例如運行5次。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後調用
在情況下的程序,應在5個呼叫停止,可以定義另一個高階函數:
function repeat_stop(f,dmsec,times) {
var count = 0;
function foo() {
f();
count++;
if(count < times) {
setTimeout(foo,dmsec);
}
}
setTimeout(foo,dmsec);
}
setInterval
將與之間的定製延遲重複運行功能他們。要運行五次,您必須自己處理,例如
setInterval(function(){
for (var i = 0; i < 5; i++){
myFunction();
}
},4000);
https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval
你沒有清除函數繼續執行的時間間隔,並且浪費了cpu時間...每4秒 –
@AdrianBratu:這個問題對於每次調用5次還是5次後停止。 –
根據以下問題:「每4秒運行一次的功能」 – nvioli
您正在尋找在setInverval功能。
var counter = 0;
function someFunction(){
console.log('hello world')
}
var interVal = setInterval(function(){
conter++;
if (counter < 5) {
someFunction();
}
else {
clearInterval(interVal);
}
}, 4000);
不應該更新'counter'嗎?現在它永遠不會達到'5'。 –
正確我將添加計數器++並更新 –
- 1. 每30秒運行一次函數javascript
- 2. Javascript每300秒運行一次腳本
- 3. Javascript - 每x秒執行一次函數,但只執行三次函數
- 4. 每20秒執行一次php函數
- 5. 我每24小時使用一次javascript函數運行一次?
- 6. 每秒多少次函數調用?
- 7. 如何讓我的函數在Python中每秒運行一次?
- 8. 如何在Play scala中每3秒運行一次函數?
- 9. 運行ajax函數,每3秒檢查一次json響應
- 10. 每秒運行一次活動
- 11. 每10秒運行一次node.js腳本
- 12. Cron作業 - 每5秒運行一次
- 13. 每秒運行一次循環sleep_for
- 14. 每15秒運行一次ASPX頁面
- 15. 每30秒運行一次Android服務
- 16. 每5秒運行一次宏
- 17. 每3秒運行一次功能
- 18. 每x秒運行一次代碼
- 19. 每5秒運行一次jquery動畫
- 20. Cron:每1秒運行一次cron?
- 21. jquery onclick函數多次運行多次
- 22. 每週運行一次任務,在Heroku上只運行4次
- 23. 運行每秒運行一次只在碎片運行一次onCreateView()
- 24. Python每5秒鐘運行一次函數,使用前次嘗試的信息
- 25. 每小時運行一次java函數
- 26. 每30秒調用一次函數
- 27. 每5秒調用一次函數
- 28. 每5秒調用一次函數角
- 29. 每5秒重播一次jQuery函數
- 30. JavaScript函數運行兩次?
爲什麼不使用setInterval? – Fida