From 2c55d2b5e55685104d365bdc89c738941bb13944 Mon Sep 17 00:00:00 2001 From: yezhichao <651778286@qq.com> Date: Tue, 23 Nov 2021 21:02:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=90=8C=E4=B8=80=E6=97=B6?= =?UTF-8?q?=E9=97=B4=E5=8F=AA=E6=9C=89=E4=B8=80=E4=B8=AA=E7=AA=97=E5=8F=A3?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/load-serialport.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/load-serialport.js b/src/main/load-serialport.js index fdf3922..5d9cb6c 100644 --- a/src/main/load-serialport.js +++ b/src/main/load-serialport.js @@ -13,13 +13,27 @@ const getSerialPortConstructorArguments = (ports) => { return { path, baudRate } } -let sender = null +const senders = [] ipcMain.on("APP_MOUNTED", (event) => { - sender = event.sender + const { sender } = event + senders.push(sender) + + sender.once('destroyed', () => { + const index = senders.indexOf(sender) + if (index >= 0) senders.splice(index, 1) + }) }) const sendMsg = (channel, msg) => { - if (sender) sender.send(channel, msg) + if (senders.length <= 0) return + + try { + senders.forEach((sender) => { + sender.send(channel, msg) + }) + } catch (error) { + console.error(error) + } } SerialPort.list().then((ports, err) => {