首先注意到一个前提,JavaScript在浏览器里是单线程运行的,那么任何时候都只有一个线程在运行,定时器的执行代码到了设定时间点开始执行,如果浏览器JavaScript线程处于空闲状态,那么立即执行。如果还有其他代码没有执行完,那么等待执行完就立即执行定时器代码。所以定时器设定的时间间隔并不能保证在时间间隔后就能执行。只是浏览器将定时器代码放到时间间隔后的队列中。
首先注意到一个前提,JavaScript在浏览器里是单线程运行的,那么任何时候都只有一个线程在运行,定时器的执行代码到了设定时间点开始执行,如果浏览器JavaScript线程处于空闲状态,那么立即执行。如果还有其他代码没有执行完,那么等待执行完就立即执行定时器代码。所以定时器设定的时间间隔并不能保证在时间间隔后就能执行。只是浏览器将定时器代码放到时间间隔后的队列中。
本文标题:定时器执行时机的理解
本文链接:https://www.haomeiwen.com/subject/eqsagttx.html
网友评论