Electron ipcRenderer.sendSync() 返回未定义

Electron ipcRenderer.sendSync() returning undefined

我正在使用 electron-react-boilerplate 框架编写应用程序。

我一直在学习这里的教程:https://riptutorial.com/electron/example/19713/synchronous-ipc-communication

在我的渲染器进程中我有:

let a = window.electron.ipcRenderer.sendSync('LIST', []);
console.log(a);

在我的主要过程中:

ipcMain.on('LIST', (event) => {
  event.returnValue = 'test';
});

然而,值 'a' 在记录时未定义。我做错了什么?

我意识到我做错了什么。

在 preload.ts 中,我公开了函数 sendSync,如下所示:

sendSync(channel: Channels, args: unknown[]) {
  ipcRenderer.sendSync(channel, args);
},

...这没有 return 任何东西,因此未定义。我应该做的:

sendSync(channel: Channels, args: unknown[]) {
  return ipcRenderer.sendSync(channel, args);
},

现在 return 符合预期!