首页 > 试题广场 >

setTimeout(fn,100);100毫秒是如何权衡的

[问答题]

setTimeout(fn,100);100毫秒是如何权衡的

定时触发器线程计算经过100ms,会将定时器回调交给事件触发线程,事件触发线程将回调放入消息队列,这个时候,如果JS引擎线程没有将script、微任务队列中的微任务、消息队列中该回调之前的宏任务全部执行完毕,那么就会一直处于等待状态,直到这些任务都执行完了,才能执行这个定时器回调。
编辑于 2021-10-08 21:13:22 回复(0)
执行完毕 插入队列+等待
发表于 2022-02-24 11:20:20 回复(0)
setTimeout()是一个异步函数,只是将事件插入了任务列表,必须等到当前代码执行完毕,主线程才会去执行它指定的回调函数,有可能要等待很久。所以100毫秒是至少代表着插入队列和等待的时间
发表于 2020-07-23 18:08:41 回复(0)
<p>setTimeout()是一个异步函数,js在执行它时会把它挂到队列当中,直到主线程的代码执行完毕,才会回过头来执行它。所以100毫秒是至少代表着插入队列和等待的时间。</p>
发表于 2020-06-16 16:57:25 回复(0)