我最近尝试使用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 参数在主进程中不作为函数读取。有谁知道解决方法?
答案 0 :(得分:0)
如果您打印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()));
});