2016-04-15 153 views
17

後的setTimeout沒有解僱我有這樣的劇本Node.js的系統時間更改

setTimeout(function() 
{ 
    console.log("Timeout"); 
}, 1000 * 60); 

當我運行它,並更改系統時間回一小時,超時不火。如果我將時間向前改變一小時,則超時正常工作。

時間由外部程序,這使得像ioctl(rtcFd, RTC_SET_TIME, &newTime);

如何解決這個問題的呼叫改變了嗎?

我們使用Node.js的v0.10.15上的OpenWRT調整心態

謝謝

回答

7

我剛剛成立,這是一個bug fixed in newer version。它在v0.10.33中由此commit修復。

如果你滿足這個問題,你需要更新或修補的node.js

+0

要說實話,我建議切換到Node v4 - 它是LTS版本,具有卓越的性能和安全性。 – Ginden

+0

Node v5.11昨天剛剛發佈。 https://nodejs.org/en/blog/release/v5.11.0/ – Laurent

+0

在我們的特殊情況下,很難更新到最新版本v5.11。我們通過更新到v0.10.44解決了問題 –

0

使用節點計劃這是基於時間的調度

NPM安裝節點調度

var jobId="123456abc"; 
schedule.scheduleJob(jobId, new Date(1), function() 
{                            
    schedule.cancelJob(jobId); 
    // your code here. 
});