在电子应用程序中接收管道数据流

问题描述

我有一个Python脚本,它在stderr生成数据流。我可以在终端中运行它,并获得数据打印行。

我试图通过python3 script.py | electron main.js将其通过管道传输到我的Electron应用程序中,并希望可以通过

在我的应用程序中访问它
process.stderr.on('readable',(chunk) => {
  console.log(process.stderr.read())
  console.log(`Chunk:- ${chunk}`);
});

但是它是nullundefined。这是错误的方式吗?

解决方法

readable事件处理程序未传递参数。以下代码改编自readable.read()上的Node文档:

process.stderr.on('readable',() => {
  let chunk;

  // Use a loop to make sure we read all currently available data
  while (null !== (chunk = process.stderr.read())) {
    console.log(`Chunk:- ${chunk}`);
  }
});