Hello, Boswell!

并发模型

  • 帮助app保持响应并且根据用户设备能力和网络速度降级调整;
  • 可以同时处理几个状态更新,就像是不同分支可以由不同团队处理;

可中断的渲染(interruptible rendering

  • 不会阻止更新输入框文本;一边让浏览器绘制更新到输入框中,一边渲染列表的更新到内存中;当下面渲染完成更新DOM,将变更映射到屏幕上;

  • 每次更新在一个分支上;

阻塞式渲染(blocking rendering

  • 因为每次渲染开始(创建新DOM和浏览器布局计算)就不会被中断;这个叫做阻塞式渲染;

  • 案例:输入框输入,实时查看筛选列表问题?

    • 一般我们会使用debounce,防抖/节流来优化,但是一旦渲染开始就不会被中断;

故意的加载序列

浏览器调度函数

  • requestAnimationFrame:帧数控制调用
  • requestIdleCallback:闲时调用
  • web worker:多线程调用
  • intersecionObserver: 进入可视区域调用
Last Updated:
Contributors: Boswell, Boswell, mingzhuang.ji