[英]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.