2014-12-13 32 views
2

在當前穩定版本的node.js v0.10.33 there is a bug其中setTimeout/setInterval在將系統時間設置爲過去時不再觸發。如何在更改系統時間時使用setInterval/setTimeout解決nodejs穩定bug

運行這段代碼,看看我的意思是:

var i = 0; 

var handle = setInterval(function() 
{ 
    console.log(++i); 
}, 1000); 

然後同時它的運行改變你的系統的時間過去,在Windows或Linux不要緊。間隔/超時不會再觸發。在將時間轉向未來時,節點表現得非常好,並繼續運行時間間隔。這個bug在節點v0.11.3中得到了修復,我還不能使用它,因爲它不穩定。

我試過像timer-shimnanotimer這樣的模塊,但它們在內部也使用setInterval/setTimeout,因此也有同樣的問題。

目前,我怎樣才能以最好的方式爲我的應用程序繞過這個節點錯誤,而沒有時髦的猴子修補?

回答

相關問題