I have defined 2 IPC renderer functions but no matter which one I call they both resolve to same function
In index:
const createWindow = (): void => {
// setup inter process communication (ipc)
ipcMain.handle('mainproc:getComPorts', getComPorts);
ipcMain.handle('mainproc:connectModbus', (event, comPort: string) => connectModbus(event, comPort));
In preload:
import { contextBridge, ipcRenderer } from 'electron';
contextBridge.exposeInMainWorld('electron', {
getComPorts: () => ipcRenderer.invoke('mainproc:getComPorts'),
connectModbus: (comPort: string) => ipcRenderer.invoke('mainproc:connectModbus', [comPort])
})
In renderer:
declare global {
interface Window {
electron: {
getComPorts: () => Promise<string[]>;
connectModbus(comPort: string): Promise<boolean>;
};
}
}
In React component:
function connectToModbus(){
debugger;
window.electron.connectModbus('seans test').then((value => {
debugger;
// do something with return
let qwerty = value;
}))
.catch((error) => {
debugger;
console.error('Promise rejected with error: ' + error);
});
}