3

How can I wait for a specific system time before firing ?

I want to fire an event when seconds = 0, i.e. every minute

while (1==1) {
    var date = new Date();
    var sec = date.getSeconds();
    if(sec===0) {
        Do Something()
    }

}
4

1 回答 1

11

你不应该那样做,因为这样while你就会有一个阻塞操作。此外,在任何 JavaScript 平台上都可以做一些更好的事情,比如使用setInterval/setTimeout函数。
他们的节点文档在这里

如何实现您想要的快速示例:

setInterval(function() {
  var date = new Date();
  if ( date.getSeconds() === 0 ) {
    DoSomething();
  }
}, 1000);

为了对 Node 中的计划进程进行更细粒度的控制,也许您应该检查node-cron

于 2013-07-01T11:05:55.357 回答