2014-12-13 31 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,因此也有同样的问题。

目前,我怎样才能以最好的方式为我的应用程序绕过这个节点错误,而没有时髦的猴子修补?

回答

相关问题