我有一个从Web服务获取数据的应用程序。我想知道应用程序打开时是否有任何方法,但每隔几分钟就不会用来运行一个功能。
基本上,我想检查互联网连接并检查以确保我的网络服务已启动。
答案 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);