前端小白关于阻塞与非阻塞的笔记

151 阅读1分钟

相关概念

阻塞

阻塞是由同步所产生的,用浅显易改的话来说,同步代码只要不完成,就不会继续向下执行。因此,代码就会堵在一起,造成拥堵,也就是阻塞。

【如:开车过程中,红绿灯一直没有变绿,后面的车辆就一直不能往前开,就会形成堵车】

非阻塞

非阻塞是由异步完成的,异步代码脱离主线程执行,因此主线程的代码执行是不会收到影响。

阻塞渲染

css阻塞

  • 只有link标签引入的外部css才有阻塞
  • 阻塞页面的渲染
  • 阻塞后续js语句的执行
  • style有html解析器解析,因此是异步执行,不会造成阻塞
  • 不阻塞DOM解析
  • 不阻塞加载外部资源 js阻塞
  • 阻塞后续DOM解析
  • 阻塞页面的渲染
  • 阻塞后续js语句的执行