eletron主程序和視窗的互相通訊

zongkm發表於2024-04-07

視窗和渲染程序是相同的東西

  • 視窗向主程序傳輸資料
    渲染程序傳值
window.electron.ipcRenderer.invoke('aaa',{
a:1,
b:2
});

主程序接收-------資料寫在createWindow函式後面的mainWindow.on下面

ipcMain.handle('aaa',(a,b)=>{
})
  • 主程序向視窗傳值
    主程序-------資料寫在createWindow函式後面的mainWindow.on裡面
mainWindow.webContents.send("event-from-main",{a:1});

渲染程序

window.electron.ipcRenderer.on("event-from-main",( s, data )=>{
console.log( 1111 ,data );
});

之前還寫了輸出,輸出會遞增輸出,目前不清楚原因
會得到監聽過多的報錯,也就是下面這個
MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 event-from-main listeners added to [EventEmitter]. Use emitter.setMaxListeners() to increase limit
(Use electron --trace-warnings ... to show where the warning was created)

相關文章