js-定时器误差测试,及其注意事项

在定时器后面写个10000次循环,误差率达到600ms,如果循环次数更多,误差率更大
在这里插入图片描述
在这里插入图片描述
记住不要在定时器后面写任务量特别巨大的代码,不然定时器就不准了

产生的原因就是:js是单线程的。定时器会进入回调队列,主线程会轮询询问回调队列是否可以调用了,但此时主线程没空,因为还在循环中,所以有了误差。使用worker可以解决这个问题,但是worker有些浏览器不支持

猜你喜欢

转载自blog.csdn.net/qq_38188047/article/details/106519387