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,因此也有同样的问题。
目前,我怎样才能以最好的方式为我的应用程序绕过这个节点错误,而没有时髦的猴子修补?