电子 ipcRenderer 与 ipcMain 同步
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);
});
先谢谢了。
是的,我在处理电子问题时遇到了同样的问题,所以我想向您推荐一个我认为据我所知最好的选项
Do time consuming task or system related task in separate window which
is independent from Main window(Render process) It will never affect
your Main window(Render process).
之后将消息发送到 Main window(渲染进程)以通知和更新 UI。
我的问题是当我从渲染器进程调用 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);
});
先谢谢了。
是的,我在处理电子问题时遇到了同样的问题,所以我想向您推荐一个我认为据我所知最好的选项
Do time consuming task or system related task in separate window which is independent from Main window(Render process) It will never affect your Main window(Render process).
之后将消息发送到 Main window(渲染进程)以通知和更新 UI。