我正在尝试从ipcMain到ipcRender异步发送消息/数据,遵循那里描述的代码-https://electronjs.org/docs/api/ipc-main,在主目录中-
// In main process.
const {ipcMain} = require('electron')
ipcMain.on('asynchronous-message', (event, arg) => {
console.log(arg) // prints "ping"
event.sender.send('asynchronous-reply', 'pong')
})
在渲染器中-
// In renderer process (web page).
const {ipcRenderer} = require('electron')
ipcRenderer.on('asynchronous-reply', (event, arg) => {
console.log(arg) // prints "pong"
})
ipcRenderer.send('asynchronous-message', 'ping')
它成功地将消息从渲染器发送到main,但是main假定将消息发送回renderer,但是没有。
我也尝试过webContents发送消息,但没有成功-
win.webContents.send('asynchronous-reply', 'pong1')
我正在使用节点8.9.3,Chrome 61.0.3163.100,Electron 2.0.5和macOS 10.13.3。详细信息-https://github.com/electron/electron/issues/13743
感谢任何帮助。谢谢
答案 0 :(得分:1)
感谢@ancode。弄清楚了,从 Renderer 发送到 Main 的消息正在终端控制台中打印,并且从 Main 发送到渲染器正在 Web开发控制台中打印(作为一个新的电子开发人员,我完全错过了它,希望终端控制台中的所有消息都可以显示)