ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Electron 主进程与渲染进程之间的通 信(同步通信、异步通信)

2020-12-08 21:01:41  阅读:227  来源: 互联网

标签:异步 ipcRenderer 渲染 通信 msg Electron 进程 const


有时候我们想在渲染进程中通过一个事件去执行主进程里面的方法。或者在渲染进程中通知 主进程处理事件,主进程处理完成后广播一个事件让渲染进程去处理一些事情。这个时候就 用到了主进程和渲染进程之间的相互通信。 Electron 主进程,和渲染进程的通信主要用到两个模块:ipcMain 和 ipcRenderer ipcMain:当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息, 当然也有可能从主进程向渲染进程发送消息。 ipcRenderer: 使用它提供的一些方法从渲染进程 (web 页面) 发送同步或异步的消息到主 进程。 也可以接收主进程回复的消息。 场景 1:渲染进程给主进程发送异步消息:
//渲染进程
 const { ipcRenderer } = require('electron') i
pcRenderer.send('msg',{name:'张三'}); //异步

主进程:

//主进程 
const { ipcMain } = require('electron'); 
ipcMain.on(''msg'',(event,arg) => { 

})
场景 2:渲染进程给主进程发送异步消息,主进程接收到异步消息以后通知渲染进程
//渲染进程 
const { ipcRenderer } = require('electron') 
ipcRenderer.send('msg',{name:'张三'}); //异步
//主进程
const { ipcMain } = require('electron'); 
ipcMain.on(''msg'',(event,arg) => { event.sender.send('reply', 'pong'); })
//渲染进程
 const { ipcRenderer } = require('electron')
 ipcRenderer.on('reply', function(event, arg) { 
    console.log(arg); // prints "pong" }
);    
场景 3:渲染进程给主进程发送同步消息:
//渲染进程 
const { ipcRenderer } = require('electron') 
const msg = ipcRenderer.sendSync('msg-a'); 
console.log(msg)
//主进程 
ipcMain.on('msg-a',(event)=> { event.returnValue = 'hello'; })

 

标签:异步,ipcRenderer,渲染,通信,msg,Electron,进程,const
来源: https://www.cnblogs.com/loaderman/p/12147274.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有