[英]Problems with setInterval function JavaScript
我在JavaScript中使用了setInterval函數,但我從console.log('NOW')得到了每秒一百個代表。 setTimeout也具有相同的效果。
我的錯誤在哪里? 我想每15分鍾調用一次“function1”函數。
JavaScript代碼:
function1() {
console.log('NOW');
.
.
.
});
},
refreshData() {
this.function1();
setInterval(this.refreshData(), 900000);
},
謝謝!
你正在調用這個函數
setInterval(this.refreshData(), 900000);
而不是傳遞對函數的引用
setInterval(this.refreshData, 900000);
像這樣包裹你的函數調用:
var self = this;
refreshData() {
this.function1();
setInterval(function(){ self.refreshData() }, 900000);
}
有兩種可能的方法:
在提供的代碼中,您應該使用setTimeout
,因為您手動重新啟動函數:
function function1() { console.log('NOW'); } function refreshData() { this.function1(); setTimeout(this.refreshData, 3000); } refreshData();
或者簡單地用setInterval
替換現有的邏輯,它應該完成你手動實現的所有工作:
function function1() { console.log('NOW'); } this.function1(); setInterval(this.function1, 3000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.