有没有办法在child_process.spawn()执行时降低stdout的highWaterMark?
我已经读到有一种方法可以为exec降低它,但实际上我需要启动一个进程,通过stdin传递数据并通过stdout读取结果。
高水位标记设置太高导致读取stdout时出现不可接受的延迟。
我尝试将流对象传递给spawn链接:
avconv = spawn("avconv", params, {
stdio: [process.stdin, process.stdout, process.stderr]
});
现有的代码运行良好,但是当我尝试创建自己的流时,我希望能够定义一个自定义的highWaterMark:
var readable = new stream.Readable();
avconv = spawn("avconv", params, {
stdio: [process.stdin, readable, process.stderr]
});
Node无法接受它,导致类型错误。
stream.Writeable
吗?process.stdout
是一个可写流。也许你只需要将 stdio 切换为[readable, writable, process.stderr]
。 - AlexMA