Как я могу вызвать команду ipcMain из другой команды ipcMain? - PullRequest
0 голосов
/ 08 ноября 2019

К сожалению, я новичок в электронике, пытаясь быть СУХИМ, мне нужно запустить loadFolders изнутри makeFolder, loadFolders вызовет событие для ipcRenderer, чтобы загрузить мои обновленные имена папок

Все примеры в сети показывают отправку сообщения от ipcMain к ipcRenderer, но никогда от одной бэкэнд-функции к другой, это вообще возможно?

ipcMain.on('loadFolders', (e, args) => {
  // ...
  // does some stuff to read folder names from the file system
  // ...
  // sends folder list to the view
  mainWindow.webContents.send('folderItems', items)
})

ipcMain.on('makeFolder', (e, args) => {
  return new Promise((resolve, reject) => {
    try {
      // ...
      // creates a folder from args
      // ** need to call the loadFolders method here in order to read
      // updated list from the filesystem **
    } catch (err) {
      reject(err)
    }
  })
})

1 Ответ

0 голосов
/ 09 ноября 2019

Читайте документы на электрон. Кроме того, узнайте об «источниках событий и слушателях» в Node.

В электронном режиме у вас есть только ОДИН основной процесс (например, сервер) и несколько процессов визуализации (например, вкладки в браузере).

IPC обозначает межпроцессное взаимодействие. Но нет необходимости в IPC в основном процессе. Например, вы можете использовать обычные вызовы функций.

Но если вам нужно «общаться» с процессами рендеринга из основного процесса или наоборот, или между процессами рендерера, тогда используйте ipcMain () и ipcRender () соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...