Worker本身的实现确实是繁琐的,尤其是 postMessage、onmessage这类线程间数据通信操作,就挺繁琐。
这个时候可以用谷歌的comlink库: comlink - npm comlink能用单线程操作的习惯来实现多线程操作,很赞。
(其原理是Proxy代理机制) 当然Vite也有适配: vite-plugin-comlink - npm 然后,解决完线程间通讯的麻烦事之后,还要面对一个坑。
就是Worker和Worker之间、Worker和主线程之间,无法实现复杂数据类型的传输(会丢类型)。
…。
商业史上有哪些降维打击的经典案例?
你们学校的校花都是怎么样的?
为什么主流都不再力推英特尔 CPU?
游戏开发选择lua还是js?
Electron 做游戏客户端的潜力有多大?
华为自研的仓颉编程语言将于 7 月 30 日开源,这款语言将如何影响未来的开发趋势?