Node.js setTimeout回调立即执行
我正在nodejs中做一些工作,包括每分钟检查数据库中的时间。为此,我在第一次启动服务器时设置了一个settimeout,以使我的setInterval尽可能接近分钟。但是,启动我的setinterval的settimeout回调会立即启动,而不是等待Node.js setTimeout回调立即执行,node.js,settimeout,Node.js,Settimeout,我正在nodejs中做一些工作,包括每分钟检查数据库中的时间。为此,我在第一次启动服务器时设置了一个settimeout,以使我的setInterval尽可能接近分钟。但是,启动我的setinterval的settimeout回调会立即启动,而不是等待 setTimeout(function(){ console.log('starting time checks'); setInterval(afterdelay,60*1000); }, 60-new Date(Date.now())
setTimeout(function(){
console.log('starting time checks');
setInterval(afterdelay,60*1000);
}, 60-new Date(Date.now()).getSeconds());
setTimeout
callback的第二个参数是计时器在执行指定函数或代码之前应等待的时间(以毫秒为单位):
setTimeout(function(){
console.log('starting time checks');
setInterval(afterdelay, 60*1000);
}, 60000);
但是,如果您想在应用程序启动一分钟后运行afterdelay
功能,您可以使用setInterval
而不使用setTimeout
:
setInterval(afterdelay, 60000);
setTimeout
callback的第二个参数是计时器在执行指定函数或代码之前应等待的时间(以毫秒为单位):
setTimeout(function(){
console.log('starting time checks');
setInterval(afterdelay, 60*1000);
}, 60000);
但是,如果您想在应用程序启动一分钟后运行afterdelay
功能,您可以使用setInterval
而不使用setTimeout
:
setInterval(afterdelay, 60000);
我做的是秒而不是毫秒。谢谢。我做的是秒而不是毫秒。谢谢