我的问题是,当我从呈现程序进程调用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);
});先谢了。
发布于 2018-04-23 17:57:44
是的,我在研究电子问题时遇到了同样的问题,所以我想建议你一个我认为从我的知识来看是最好的选择。
在独立的窗口中执行耗时的任务或与系统相关的任务,该窗口独立于主窗口(呈现过程),它不会影响主窗口(呈现过程)。
然后,将消息发送到主窗口(呈现过程),以便通知和更新UI。
https://stackoverflow.com/questions/49986556
复制相似问题