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-shim和nanotimer這樣的模塊,但它們在內部也使用setInterval/setTimeout,因此也有同樣的問題。
目前,我怎樣才能以最好的方式爲我的應用程序繞過這個節點錯誤,而沒有時髦的猴子修補?