electron

1. 概述

  • 通过一个简单的 demo 介绍 ipcRenderer.invoke、ipcMain.handle 的基本使用。

2. demos.1 - 使用 ipcRenderer.invoke、ipcMain.handle 实现从渲染进程到主进程的单向 IPC 通信

renderer.jsjs
const { ipcRenderer } = require('electron')
const now = () =>
  new Date().toLocaleTimeString('en-US', {
    hour12: false,
    hour: '2-digit',
    minute: '2-digit',
    second: '2-digit',
  })

btn.onclick = async () => {
  console.log(
    now(),
    '按钮被点击了,向主进程发起 message-from-renderer 请求,并传入请求参数 1、2、3',
  )

  await ipcRenderer.invoke('message-from-renderer', 1, 2, 3)

  console.log(now(), 'after call invoke')
}
  • 最终效果
    • 渲染进程通过 ipcRenderer.invoke 方法向主进程发送消息,主进程通过 ipcMain.handle 方法监听来自渲染进程的消息。实现从渲染进程到主进程的单向通信。
    • 图 0
      图 0

Discussions

正在载入评论…