在节点中,如何将流发送到stdout并同时保存在变量中?

时间:2019-05-28 22:50:37

标签: javascript node.js stream

这是问题How to intercept and save to a variable the output streaming of a command in node.js?

的后续内容

我意识到我还需要将流发送到stdout,因为我正在调用的脚本(不是本示例中的ls)正在向屏幕发送更新(使用\ r覆盖该脚本)行)

所以我需要在终端中显示流,同时将其保存在变量中以进行后处理

这是将流正确发送到终端的代码示例:

const cp = require('child_process');
const result = cp.spawnSync(
    'ls',
    ['-l', '/usr'],
    { stdio: [process.stdin, process.stdout, process.stdout] }
);

这是将流保存到变量的示例:

const cp = require('child_process');
const result = cp.spawnSync(
    'ls',
    ['-l', '/usr']
);
savedStream = result.stdout.toString();

我想将两者结合在一起

0 个答案:

没有答案