重复之前在setInterval内运行一次函数

时间:2015-01-17 20:11:43

标签: javascript

我有一个函数,使用setInterval检查加载页面时每5分钟从上次访问开始的更改日期。此外,还存在与每天相关联的数据以存储在本地存储器中。

setInterval(function(){
  if(newDay()) {
     today = getTodaysDay();
     // store required data in the database
  }
}, 30000);

问题是,当白天发生变化并且我从那天的数据库中记录数据时,我看到“未定义”5分钟,直到运行setInterval中的函数。有没有办法来解决这个问题?我尝试复制setInterval中的任何内容并将其置于setInterval(function()...之上,但这似乎不起作用。

1 个答案:

答案 0 :(得分:2)

有点不清楚你要求的是什么,但这应该做你想要的:

// Declare the function first:
function dostuff() {
  if(newDay()) {
     today = getTodaysDay();
     // store required data in the database
  }
}

// Call it once to begin with
dostuff();
// Then create an interval to run the function every 30 seconds:
setInterval(dostuff, 30000);