[英]electron ipcRenderer sync with ipcMain
我的问题是当我从渲染器进程调用ipcMain操作时,渲染器线程被卡住,直到ipcMain操作完成(同步而不是异步)
代码示例 :
Renderer.js
export const startCopy = data => {
// Copy files tree to the drive
ipcRenderer.send('copy-files', data);
return new Promise((resolve, reject) => {
ipcRenderer.on('copy-files-finished', (event, error) => {
resolve(error);
});
});
}
Main.js
ipcMain.on('copy-files', (event, data) => {
const error = copyFiles();
console.log(error);
event.sender.send('copy-files-finished', error);
});
谢谢你
是的,我在研究电子问题时遇到了同样的问题,所以我想向您建议一个我认为是最好的选择
在独立于主窗口(渲染过程)的单独窗口中执行耗时的任务或与系统相关的任务,它将永远不会影响您的主窗口(渲染过程)。
之后,将消息发送到主窗口(渲染过程)以通知和更新UI。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.