gpt4 book ai didi

Electron .ipcRenderer 触发两次

转载 作者:行者123 更新时间:2023-12-03 12:20:33 44 4
gpt4 key购买 nike

我正在(第一次)使用 Electron 创建一个仅限 Mac 的小型应用程序。
我正在尝试使用 ipcRenderer 在我的应用程序菜单和主 BrowserWindow 中的内容之间进行通信。

我将菜单设置如下以发送消息“select-active”:

const {Menu} = require('electron')
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow

const template = [
{
label: 'Fonts',
submenu: [
{
label: 'Select All Acitve Fonts',
accelerator: 'Command+A',
click (item, focusedWindow) { if(focusedWindow) focusedWindow.webContents.send('select-active') }
},...

然后我收到如下:
const ipcRenderer = require('electron').ipcRenderer;

ipcRenderer.on('select-active', function () {
console.log('SELECTED');
})

我遇到的问题是,每次选择菜单命令时,都会在控制台中记录两次消息。我哪里错了?

最佳答案

改用 .once 怎么样

ipcRenderer.once('select-active', function () {
console.log('SELECTED');

})

关于Electron .ipcRenderer 触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346775/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com