zoukankan      html  css  js  c++  java
  • Electron学习笔记(十六)—— 常用api____主进程与渲染进程通信

    ipcMain
    从主进程到渲染进程的异步通信。

    线程:主线程

    The ipcMain module is an Event Emitter. 当在主进程中使用时,它处理从渲染器进程(网页)发送出来的异步和同步信息。 从渲染器进程发送的消息将被发送到该模块。

    https://www.electronjs.org/docs/api/ipc-renderer

    ipcRenderer
    从渲染器进程到主进程的异步通信。

    进程: Renderer

    ipcRenderer 是一个 EventEmitter 的实例。 你可以使用它提供的一些方法从渲染进程 (web 页面) 发送同步或异步的消息到主进程。 也可以接收主进程回复的消息。

    推荐:用异步的方法来写

    渲染进程发信息给主进程之后,之间的相应方式

    // 在主进程中.
    const { ipcMain } = require('electron')
    ipcMain.on('asynchronous-message', (event, arg) => {
    console.log(arg) // prints "ping"
    event.reply('asynchronous-reply', 'pong') //对应渲染进程中的异步方法
    })

    ipcMain.on('synchronous-message', (event, arg) => {
    console.log(arg) // prints "ping"
    event.returnValue = 'pong' //对应渲染进程中的同步方法

    })

    //在渲染器进程 (网页) 中。
    const { ipcRenderer } = require('electron')
    console.log(ipcRenderer.sendSync('synchronous-message', 'ping')) // prints "pong" //对应主进程中的同步方法

    ipcRenderer.on('asynchronous-reply', (event, arg) => {
    console.log(arg) // prints "pong"
    })
    ipcRenderer.send('asynchronous-message', 'ping') //对应主进程中的异步方法
    主进程主动给渲染进程发信息

    mainWindow.wenContents.send('方法名','参数')

  • 相关阅读:
    kettle在linux下执行任务
    activemq spring 集成与测试
    mysql创建存储过程,定时任务,定时删除log
    dubbo-admin 无法支持JDK1.8
    自定义事件驱动加异步执行
    AOP 实现自定义注解
    mybatis-plus的学习
    阿里巴巴架构师的成长之路
    Redis错误:jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is set
    freemark基础知识
  • 原文地址:https://www.cnblogs.com/onesea/p/15323944.html
Copyright © 2011-2022 走看看