Electron.js -将子进程的spawn stdout数据实时发送到渲染器

7vux5j2d  于 2022-12-08  发布在  Electron
关注(0)|答案(1)|浏览(233)

我有一个简单的节点子进程,它调用一个脚本,该脚本需要时间来输出一些信息(有点像ping的工作方式)。

let command = spawn(
      execPath,
      [...args],
      { cwd: null, detached: false }
    );

然后,我为stdout创建一个标准的console.log:

command.stdout.on("data", (stdout) => {
      console.log("Realtime Output: ", stdout.toString());
    });

问题是,我想把这个实时输出发送回渲染器进程,并在前端显示它。我尝试在command.stdout.on()中添加一个ipcRenderer.send(),但它不起作用,前端在console.log中显示undefined
有没有办法做到这一点?

00jrzges

00jrzges1#

必须通过webContentsmainWindow发送stdout

mainWindow.webContents.send('output', stdout.toString())

相关问题