有没有办法通过计时器运行javascript函数?

时间:2015-07-17 16:18:15

标签: javascript angularjs cordova

我有一个从Web服务获取数据的应用程序。我想知道应用程序打开时是否有任何方法,但每隔几分钟就不会用来运行一个功能。

基本上,我想检查互联网连接并检查以确保我的网络服务已启动。

3 个答案:

答案 0 :(得分:2)

setInterval(function() {
  alert("Will run every 5 seconds");
}, 5000);

setTimeout(function() {
  alert("Will only run once after 5 seconds");
}, 5000);

修改

作为评论中提到的taxicala,该函数将在5秒后仍未执行。如果线程繁忙,可能会比这长得多。大多数情况下,这是一个非问题,但值得考虑。

答案 1 :(得分:2)

您可以使用setInterval或使用setTimeout。

setInterval的工作方式类似于一个常量循环,所以你可以得到一个3秒的时间,每秒都会运行setInterval中的代码,就像这样

setInterval(function()
{ 
   alert("Hello"); 
}, 3000);

setTimeout在经过一段特定时间后工作,然后像这样运行一些代码

setTimeout(function()
{ 
    alert("Hello"); 
}, 3000);

计时器以毫秒为单位,因此1000 = 1秒

答案 2 :(得分:1)

是的,您可以使用setInterval功能,如:

var myVar = setInterval(function(){ yourKeepAliveFunction() }, 1000);

在上面的示例中,yourKeepAliveFunction将每秒运行一次(1000毫秒); myVar拥有计时器的句柄,所以一旦你想停止运行它,你可以这样做:

clearInterval(myVar);