Open ForeveHG opened 4 years ago
js是单线程的,setTimeout做的事情就是在指定时间后将回调函数加到宏任务队列中去,具体什么时候执行这个回调函数要看当前事件循环队列的情况,这时候就会造成一个时间差。
关于setTimeout的执行误差,html文档里有这句话:
This API does not guarantee that timers will run exactly on schedule. Delays due to CPU load, other tasks, etc, are to be expected. 由于CPU负载、其他任务等原因会造成setTimeout延迟,所以不能保证定时器完全按照计划执行。
js是单线程的,setTimeout做的事情就是在指定时间后将回调函数加到宏任务队列中去,具体什么时候执行这个回调函数要看当前事件循环队列的情况,这时候就会造成一个时间差。
关于setTimeout的执行误差,html文档里有这句话: