Связь с окном строки меню из основного процесса не работает

#electron #menubar

#electron #панель меню

Вопрос:

Я использую панель меню (https://www.npmjs.com/package/menubar ) и мне нужно отправить в него информацию из основного процесса, но, похоже, это не работает.

Как только мое приложение загружается, оно создает панель меню, а также запрашивает некоторую информацию с сервера. Сервер возвращает информацию о том, является пользователь менеджером или нет. Подтверждено, что все работает нормально. Если пользователь является менеджером, я хочу отобразить кнопку в окне меню.

/* основной процесс */

 menubar.window.webContents.send('is-a-manager', true)
  

/* процесс визуализации — я импортирую ipcRenderer*/

 ipcRenderer('is-a-manager', (event, isManager) => {
   console.log(isManager);
})
  

Окно внутри строки меню должно фактически регистрировать «true», но оно ничего не печатает.

Комментарии:

1. ПРИМЕЧАНИЕ: в приведенном выше коде есть проблема, которой у меня нет в моем коде… приведенный выше код должен гласить: ipcRenderer.on(….). Я получил код, работающий сейчас, но я не знаю, почему это работает. Это странно, но когда я устанавливаю тайм-аут в 1 секунду, все работает так, как ожидалось. setTimeout(()->{menubar.window.webContents.send(‘is-a-manager’, true)}, 1000). Следовательно, это должно быть проблемой с тем, как вещи загружаются, но я не могу понять, в чем проблема.

2. почему бы вам тогда не отредактировать свой вопрос? 😉

Ответ №1:

 ipcRenderer.on('is-a-manager', (event, isManager) => {
   console.log(isManager);
})
  

ipcRenderer.on (канал, прослушиватель)

Комментарии:

1. Да, извините. Это была ошибка в коде, который я предоставил выше. То, как вы это описали, у меня есть в моем коде, и это все еще не работает.