js事件循环:Safari与Chrome

时间:2018-08-21 20:23:41

标签: javascript browser

在我的html中,我有以下代码:

const button = document.getElementById('click')
button.addEventListener('click', function() {
  while(true);
})
<img src="https://media.giphy.com/media/Dkf37ayTUExQ4/giphy.gif" alt="">
<div id='click'>
  click me!
</div>

非常简单的事件侦听器,会触发一些阻止代码。

如果我在Chrome中单击该div,则gif会继续进行动画处理;但是,如果我在野生动物园中单击该div,gif就会停止动画。

我对事件循环的理解是chrome也应该暂停gif。在事件循环中,它获取了以下事实:单击后必须在后续循环中执行任务。

任务完成后,便可以继续执行循环以到达渲染步骤。

在野生动物园看来,这是荣幸。但是在chrome中,尽管被锁定在阻塞循环中,渲染步骤仍会继续发生。

问题

Chrome浏览器中发生的事情与野生动物园如何解释不同?

0 个答案:

没有答案