美文网首页
setTimeout

setTimeout

作者: 樱木夜访流川枫 | 来源:发表于2018-06-05 09:53 被阅读0次

setTimeout并没有一开始把回调函数挂在事件循环队列中。它所做的是设定一个定时器。当定时器到时后,宿主环境把回调函数放在事件循环队列中。这样,在未来的某个时刻,js引擎就会去执行这个回调。

如果定时器到时后,事件循环队列中已经有多个项目会怎样呢?

回调函数的处理将会等待,它得排在已有的事件之后——通常没有抢占式的方式支持将当前事件排在事件队列首部。这解释了为什么setTimeout()定时器的精度不高。它只会确保回调函数不会在指定的时间间隔之前执行,可能会在那个时刻执行,也可能在那之后执行,根据事件循环队列的状态而定。

相关文章

网友评论

      本文标题:setTimeout

      本文链接:https://www.haomeiwen.com/subject/ldfpsftx.html