Node.js 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())

我正在nodejs中做一些工作,包括每分钟检查数据库中的时间。为此,我在第一次启动服务器时设置了一个settimeout,以使我的setInterval尽可能接近分钟。但是,启动我的setinterval的settimeout回调会立即启动,而不是等待

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);

我做的是秒而不是毫秒。谢谢。我做的是秒而不是毫秒。谢谢