当前位置: 首页 > news >正文

[Electron]ipcMain.on和ipcMain.handle的区别

在Electron中的通信中,我们经常会用到ipcRender.invoke和ipvRender.send

接下来简要说明下这两个方法的区别

  1. ipcMain.on(channel, listener)

    • 这是 Electron 的主进程(main process)监听来自渲染进程(renderer process)的消息的方式。
    • 当渲染进程通过 ipcRenderer.send 或 ipcRenderer.sendSync 发送消息时,主进程可以使用 ipcMain.on 来监听并处理这些消息。
    • listener 是一个回调函数,当收到匹配 channel 的消息时,这个函数会被调用。
    • 这种方式是异步的,主进程不会等待渲染进程的响应。
  2. ipcMain.handle(channel, listener)

    • ipcMain.handle 是 Electron 5.0.0 之后引入的新特性。
    • 它允许主进程注册一个处理函数来响应来自渲染进程的同步消息请求。
    • 当渲染进程使用 ipcRenderer.invoke 发送一个同步消息请求时,主进程可以使用 ipcMain.handle 来处理这个请求,并返回一个响应。
    • listener 是一个处理函数,当收到匹配 channel 的同步消息请求时,这个函数会被调用。
    • 与 ipcMain.on 不同,ipcMain.handle 是同步的,主进程会等待渲染进程的响应。

总结

  • ipcMain.on 主要用于处理渲染进程发送的异步消息。
  • ipcMain.handle 主要用于处理渲染进程发送的同步消息请求,并返回响应。

相关文章:

  • 下载一些ROS的包的方式
  • Docker部署SimpleMindMap结合内网穿透实现公网访问本地思维导图
  • JDBC编程(数据库编程)
  • 数据库系统概念(第一周)
  • 数据结构 - 栈和队列
  • lua与C++粘合层框架
  • Clickhouse表引擎介绍
  • ARM单片机中程序在ROM空间和RAM空间的分布(分散加载文件,Scatter-Loading Description File)
  • Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!
  • 产品推荐 - 基于6U VPX的双TMS320C6678+Xilinx FPGA K7 XC7K420T的图像信号处理板
  • ORACLE基于归档号增量恢复
  • windows关闭copilot预览版
  • 分布式定时任务调度xxl-job
  • ElevenLabs用AI为Sora文生视频模型配音 ,景联文科技提供高质量真人音频数据集助力生成逼真音效
  • HTML—常用标签
  • CAP理论的例子讲解
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • exif信息对照
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • laravel with 查询列表限制条数
  • Objective-C 中关联引用的概念
  • Sublime text 3 3103 注册码
  • vagrant 添加本地 box 安装 laravel homestead
  • vue 个人积累(使用工具,组件)
  • Yii源码解读-服务定位器(Service Locator)
  • 从输入URL到页面加载发生了什么
  • 基于Android乐音识别(2)
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 聚类分析——Kmeans
  • 前端知识点整理(待续)
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • "无招胜有招"nbsp;史上最全的互…
  • (十一)手动添加用户和文件的特殊权限
  • (图)IntelliTrace Tools 跟踪云端程序
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)Neo4j下载安装以及初次使用
  • (轉貼) UML中文FAQ (OO) (UML)
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .form文件_SSM框架文件上传篇
  • .NET delegate 委托 、 Event 事件
  • .NET面试题(二)
  • .net中生成excel后调整宽度
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @vue/cli脚手架
  • []FET-430SIM508 研究日志 11.3.31
  • [20150707]外部表与rowid.txt
  • [20171102]视图v$session中process字段含义
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [Android] Android ActivityManager
  • [Angular] 笔记 21:@ViewChild
  • [AutoSAR 存储] 汽车智能座舱的存储需求