Worker本身的实现确实是繁琐的,尤其是 postMessage、onmessage这类线程间数据通信操作,就挺繁琐。
这个时候可以用谷歌的comlink库: comlink - npm comlink能用单线程操作的习惯来实现多线程操作,很赞。
(其原理是Proxy代理机制) 当然Vite也有适配: vite-plugin-comlink - npm 然后,解决完线程间通讯的麻烦事之后,还要面对一个坑。
就是Worker和Worker之间、Worker和主线程之间,无法实现复杂数据类型的传输(会丢类型)。
…。
哪个瞬间让你觉得编程只是一门技术?
华为 HDC 发布 HarmonyOS 6 开发者 beta 版对应用开发者和鸿蒙生态有哪些影响?
《天龙八部》中乔峰几乎没有败绩,是无敌的,为什么会是那种下场?
亲眼见到明星本人是什么体验?
你在出租房屋发现过什么前租客留下的“宝藏”?
为什么10年前大家普遍认为iOS系统比安卓系统更好用?