锦恢 (@LSTM-Kirigaya)【杂谈】为什么 web worker 的使用并不广泛? 中发帖

今天某乎上看到的一个问题,突然想到了过去的我在折腾这项技术时的茫然无措,所以简单写写我对这个问题的感悟,希望给新人们一点启发吧! 
老规矩,先贴一下我曾经用 web worker 做过的应用。
NCM 转换器
ncm 格式转换到 mp3 的逻辑用了原生的 js worker 实现
[图片]
Digital IDE VCD 渲染器
解析 vcd 文件并转换成渲染单元的步骤使用了 web worker 跑 wasm 的技术路线
[图片]
在批判 worker 之前,我先讲讲为什么部分场景下要用 worker。
最主要的原因是防止阻塞主线程,浏览器内的 V8 虽然是 event loop 的结构,但是 V8 本身对于网站的js而言,还是单线程的,这意味着,如果你在浏览器内运行了一个非常耗时的函数,那么当前标签页就会卡死,你的任何外设输入行为(键盘敲击,鼠标点击,滚轮)都不会被浏览器执...