我有一个函数,可以使用 setInterval 在页面加载时每 5 分钟检查一次自上次访问以来的日期变化。此外,还有与每天相关的数据将存储在本地存储中。
setInterval(function(){
if(newDay()) {
today = getTodaysDay();
// store required data in the database
}
}, 30000);
Run Code Online (Sandbox Code Playgroud)
问题是,当日期发生变化并且我从数据库记录当天的数据时,我会看到“未定义”5 分钟,直到 setInterval 内的函数运行为止。有没有办法来解决这个问题?我尝试复制 setInterval 中的所有内容并将其放置在上面setInterval(function()...,但这似乎不起作用。
有点不清楚你要求什么,但这应该可以满足你的要求:
// 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);
Run Code Online (Sandbox Code Playgroud)