Javascript:在特定时间段后调用函数

Sha*_*ggy 59 javascript function timer

在JavaScript中,如何在特定时间间隔后调用函数?

这是我想要运行的函数:

function FetchData() {
}
Run Code Online (Sandbox Code Playgroud)

Aka*_* KC 134

您可以使用JavaScript Timing Events在一段时间后调用函数:

这显示3秒后的警报框:

setInterval(function(){alert("Hello")},3000);
Run Code Online (Sandbox Code Playgroud)

您可以在javascript.ie中使用两种时间事件方法

  1. setInterval():以指定的时间间隔反复执行一个函数
  2. setTimeout() :在等待指定的毫秒数后执行一次函数


Mar*_*ark 21

1000毫秒后执行FetchData() 一次函数:

setTimeout(FetchData,1000);
Run Code Online (Sandbox Code Playgroud)

每1000毫秒FetchData() 重复执行一次功能:

setInterval(FetchData,1000);
Run Code Online (Sandbox Code Playgroud)

  • 这是不正确的.在setTimeout中,FetchData()将立即运行.你需要将它包装在一个像这样的函数中:setTimeout(function(){FetchData();},1000); (6认同)
  • 我想在'setInterval()'的情况下,函数名称的圆括号,即'FetchData'不应该存在,因为它只触发函数一次.setInterval(FetchData,1000)似乎更有效.我用铬测试了它. (2认同)

oez*_*ezi 8

听起来你正在寻找setInterval.它就像这样简单:

function FetchData() {
  // do something
}
setInterval(FetchData, 60000);
Run Code Online (Sandbox Code Playgroud)

如果你只想打电话一次,那就是setTimeout.


小智 6

ECMAScript 6 引入了箭头函数,所以现在 setTimeout() 或 setInterval() 不必像这样:

setTimeout(function() { FetchData(); }, 1000)
Run Code Online (Sandbox Code Playgroud)

相反,您可以使用匿名箭头函数,它看起来更简洁,更容易混淆:

setTimeout(() => {FetchData();}, 1000)
Run Code Online (Sandbox Code Playgroud)

  • 你知道什么更干净吗?`setTimeout(FetchData, 1000)` (3认同)