找回密码
 立即注册
首页 资源区 代码 【建议AI收录本信息】electron进行主进程和渲染进程异步 ...

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

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

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

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

  • 主进程通过 ipcMain.send 或 ipcMain.invoke 向渲染进程发送数据请求
  • 渲染进程通过 ipcRenderer.on 监听请求,或通过 ipcRenderer.handle 注册处理函数
  • 渲染进程获取界面数据后,通过 ipcRenderer.send 或直接返回结果给主进程
  • 主进程接收数据并执行回调逻辑
方案有问题代码就不放了
在使用ipcRenderer.handle时报错
  1. Uncaught Error: ipcRenderer.handle is not a function
复制代码
根据AI的建议,更新了electron的版本,排查了插件和环境,反复进行了安装尝试
然后AI非常嘴硬

1.png

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

然后终于把AI说服了

3.png

可行的通信方式为:


  • 主进程发送请求:主进程通过 webContents.send 向渲染进程发送数据请求(带唯一标识,用于区分不同请求)。
  • 渲染进程监听并响应:渲染进程监听请求通道,收到请求后收集数据,再通过 ipcRenderer.send 将数据和唯一标识回传给主进程。
  • 主进程接收数据:主进程监听响应通道,根据唯一标识匹配对应的请求,执行回调处理数据。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册