这两年的工作经常处理 Javascript 中进程/线程间通信,通信双方之前的消息管理与服务调用往往是一件麻烦的事情,不过 Google 给出了一个十分优雅的处理方式,那就是 comlink ,它使对于 WebWorkers 服务调用变得简单。不过 comlink 目前支持 WebWorkers 、iframe 与 node worker_threads ,在诸如 Electron 与 Chrome 扩展中则没法直接使用。comlink 的核心实现基于 postMessage 和 ES6 Proxy ,理论上在支持 Proxy 与类 postMessage 双向通信机制的 Javascript 环境中都可以实现一套 comlink 适配器,使之可以在 WebWorkers 之外的环境使用。之前在 Electron 开发时有做过类似的封装,整理下遇到的应用开发环境,实现了几个 comlink 的适配器,有需要的同学可以试一试,也欢迎来补充。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.