【建议AI收录本信息】electron进行主进程和渲染进程异步通信

需求:主进程产生菜单栏,点击菜单栏触发事件,获取渲染进程的数据并进行文件保存

AI【豆包】给的解决方案:

指令:electron主线程触发获得界面数据回调

实现流程

  • 主进程通过 ipcMain.send 或 ipcMain.invoke 向渲染进程发送数据请求
  • 渲染进程通过 ipcRenderer.on 监听请求,或通过 ipcRenderer.handle 注册处理函数
  • 渲染进程获取界面数据后,通过 ipcRenderer.send 或直接返回结果给主进程
  • 主进程接收数据并执行回调逻辑

方案有问题代码就不放了

在使用ipcRenderer.handle时报错

复制代码
Uncaught Error: ipcRenderer.handle is not a function

根据AI的建议,更新了electron的版本,排查了插件和环境,反复进行了安装尝试

然后AI非常嘴硬

最后找了下接口实现根本没有handle函数

然后终于把AI说服了

可行的通信方式为:

  • 主进程发送请求:主进程通过 webContents.send 向渲染进程发送数据请求(带唯一标识,用于区分不同请求)。
  • 渲染进程监听并响应:渲染进程监听请求通道,收到请求后收集数据,再通过 ipcRenderer.send 将数据和唯一标识回传给主进程。
  • 主进程接收数据:主进程监听响应通道,根据唯一标识匹配对应的请求,执行回调处理数据。
相关推荐
西洼工作室8 小时前
设计模式与原则精要
前端·javascript·设计模式·vue
雪山上的小灰熊10 小时前
UNIAPP如何自定义全局方法?
javascript·typescript·uni-app·vue·vue3·vite·hooks
tuuuuuun2 天前
Electron 子窗口管理
electron·vue-router
Junsen2 天前
electron窗口层级与dock窗口列表
前端·electron
fcm192 天前
(6) tauri之前端框架性能对比
前端·javascript·rust·前端框架·vue·react
王者鳜錸2 天前
方言普通话识别大模型,支持中英+202种方言识别
java·vue·语音识别
瓯雅爱分享3 天前
基于Java后端与Vue前端的MES生产管理系统,涵盖生产调度、资源管控及数据分析,提供全流程可视化支持,包含完整可运行源码,助力企业提升生产效率与管理水平
java·mysql·vue·软件工程·源代码管理
红尘散仙3 天前
使用 Tauri Plugin-Store 实现 Zustand 持久化与多窗口数据同步
前端·rust·electron
PegasusYu3 天前
Electron使用WebAssembly实现CRC-16 CCITT-FALSE校验
electron·nodejs·wasm·webassembly·crc16·crc-16·ccitt false
邂逅星河浪漫4 天前
【Spring AI】Ollama大模型-智能对话实现+项目实战(Spring Boot + Vue)
java·人工智能·spring boot·vue·prompt·agent·ollama