【问题标题】:Sending progress to renderer process in electron-dl在 electron-dl 中向渲染器进程发送进度
【发布时间】:2018-05-25 05:09:50
【问题描述】:

我最近尝试使用 electron-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 参数在主进程中没有被读取为函数。有人知道解决方法吗?

【问题讨论】:

    标签: download electron


    【解决方案1】:

    如果你打印你的 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()));
    });
    

    【讨论】:

      猜你喜欢
      • 2018-05-29
      • 2019-02-07
      • 2022-01-11
      • 1970-01-01
      • 2017-10-14
      • 2018-01-05
      • 2017-06-01
      • 2019-10-27
      • 2017-05-01
      相关资源
      最近更新 更多