Отправка прогресса в процесс рендеринга в электронном дл - PullRequest
0 голосов
/ 25 мая 2018

Недавно я пытался использовать electronic-dl для обновления содержимого моего электронного приложения.Я пытаюсь показать процент загрузки пользователю в процессе рендеринга, но я не смог найти правильный синтаксис для отправки его из основного процесса.

Мой текущий код:

Основной процесс:

ipcMain.on("downloadUpdate", (event, info) => {
  download(BrowserWindow.getFocusedWindow(), info.url, info.properties)
    .then(dl => event.sender.send("updateDownloadCompleted", dl.getSavePath()));
});

Процесс визуализации:

ipcRenderer.send("downloadUpdate", {
  url: "https://testurl.co/test.zip",
    properties: {
      directory:"/temp/updates",
        filename:"test.zip",
        showBadge:false,
        onProgress:function(){
          console.log("hi");
        },
      }
    });

Я не знаю, как отправить процесс в процесс визуализации.

Любая помощь приветствуется ...

Редактировать 1: Я обнаружил, что проблема в том, что параметр onProgress не читается как функция в основном процессе.Кто-нибудь знает обходной путь?

1 Ответ

0 голосов
/ 12 июля 2018

если вы напечатаете ваши info.properties, я думаю, это не будет свойство onProgress.

попробуйте что-то подобное, это должно сработать.Удалите onProgress из конфигурации свойств и добавьте его позже.

ipcMain.on("downloadUpdate", (event, info) => {
    info.properties.onProgress = function() {
        console.log('hi');
    }
    download(BrowserWindow.getFocusedWindow(), info.url, info.properties)
    .then(dl => event.sender.send("updateDownloadCompleted", dl.getSavePath()));
});
...