Worker本身的实现确实是繁琐的,尤其是 postMessage、onmessage这类线程间数据通信操作,就挺繁琐。
这个时候可以用谷歌的comlink库: comlink - npm comlink能用单线程操作的习惯来实现多线程操作,很赞。
(其原理是Proxy代理机制) 当然Vite也有适配: vite-plugin-comlink - npm 然后,解决完线程间通讯的麻烦事之后,还要面对一个坑。
就是Worker和Worker之间、Worker和主线程之间,无法实现复杂数据类型的传输(会丢类型)。
…。
{dede:pagebreak/}
为什么Go仅仅160MB的安装包就可以编译程序,而Rust却还需要几个GB的VC++才能编译?
如何评价茅台暂停京东供货?
公司规定所有接口都用 post 请求,这是为什么?
做个web服务器,gin框架和go-zero怎么选?
k8s里面kubectl get pod -d wide命令作用是什么?
怎么看待三十而已里说的养鱼让人玩物丧志,养鱼是魔鬼,是黑洞,养鱼毁三代鱼缸毁一生的话?
vscode 是盈利的吗?微软为什么要持续投入开发***?
微信服务器会保留聊天记录吗,会保存多久?
M4 Mac mini2024款,这种主机到底怎么样呀?
自己组一个E5服务器才几百块钱,为什么去阿里云租这么贵?
你最真实(很少吐露)的择偶标准是什么?
如何看待打五笔的人?
为什么全世界无一人能实现新mac直接全功能稳定装Win 11 arm,或PC直接装macOS arm?
女生真正的完美身材是什么样子?
请问27寸4K显示器哪个好呀?
Rust的工程配置为何用toml格式?