正如此代码段所示,两种方法都可以将事件发送到渲染过程。我想知道代码中A行和B行之间有什么区别?
ipcMain.on('async', (event, arg) => {
console.log(arg);
event.sender.send('async-reply', 2); // line A
});
ipcMain.on('sync', (event, arg) => {
console.log(arg);
event.returnValue = 4;
mainWindow.webContents.send('ping', 5); //line B
});
答案 0 :(得分:1)
mainWindow.webContents.send
:向mainWindow
event.sender.send
:向发送它的窗口发送一个事件。因此,如果您只使用一个窗口,那么它们实际上是相同的除非您想将事件发送到特定窗口,否则我会使用event.sender.send
而不是mainWindow.webContents.send
。
event.returnValue = data
使其同步,因此您可以使用var data = ipcRenderer.sendSync('get-data');