Download 将进度发送到electron dl中的渲染器进程

Download 将进度发送到electron dl中的渲染器进程,download,electron,Download,Electron,我最近尝试使用electron dl来处理我的electron应用程序的内容更新。我试图在渲染器进程中向用户显示下载百分比,但找不到从主进程发送的正确语法 我目前的代码是: 主流程: ipcMain.on("downloadUpdate", (event, info) => { download(BrowserWindow.getFocusedWindow(), info.url, info.properties) .then(dl => event.sender.sen

我最近尝试使用electron dl来处理我的electron应用程序的内容更新。我试图在渲染器进程中向用户显示下载百分比,但找不到从主进程发送的正确语法

我目前的代码是:

主流程:

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");
        },
      }
    });
渲染器进程:

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参数在主进程中没有作为函数读取。有人知道解决方法吗?

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