请问老师关于EventLoop
来源:1-2 课程适用于最新版node.js
hy_wang
2021-01-27
看了老师关于EventLoop的讲解,想问下老师有更深层次的进阶文章吗。
看到一些文章说eventloop中,每次宏任务不一定会触发页面渲染,也就是两个间隔的宏任务并不一定会触发页面渲染,可能会被合并成一次渲染。
以及这段代码百思不得其解。。请老师解惑
刷新页面,有时候是蓝色有时候却是红色
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.div {
position: relative;
height: 200px;
width: 200px;
}
</style>
</head>
<body>
<div class="div" id="app"></div>
<script>
const div = document.getElementById('app')
// div.style.background = 'red'
function toBlue() {
console.log('执行 frame')
div.style.background = 'blue'
}
setTimeout(() => {
div.style.background = 'red'
},0)
window.requestAnimationFrame(toBlue)
</script>
</body>
</html>
写回答
1回答
-
双越
2021-01-27
基本原理是基本原理,是我们认识一件事物的基本逻辑。
浏览器发展这么多年,按照基本原理实现,里面肯定做了很多很多的优化。所以不要拿基本原理和具体实现去做对比。
这就类似,你可以用 10M 的代码实现一个基本的操作系统,但是真正的 linux 系统却要 1G 大小,这是为啥呢?
022021-01-27
相似问题