Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点流以奇怪的格式返回字符串_Javascript_Node.js_Stream_Formatting - Fatal编程技术网

Javascript 节点流以奇怪的格式返回字符串

Javascript 节点流以奇怪的格式返回字符串,javascript,node.js,stream,formatting,Javascript,Node.js,Stream,Formatting,我将一个节点流传送到stdout,但它总是以奇怪的方式写入,每一行看起来都像一个对象,正如您可以看到的那样,新行标识符被写入 stream.setEncoding('utf8'); stream.pipe(process.stdout, { end: true }); 这就是控制台日志的样子。输出来自使用DockerRode创建docker容器 {"stream":"\n"} {"stream":" ---\u003e Using cache\n"} {"stream":" ---\u003e

我将一个节点流传送到stdout,但它总是以奇怪的方式写入,每一行看起来都像一个对象,正如您可以看到的那样,新行标识符被写入

stream.setEncoding('utf8');
stream.pipe(process.stdout, { end: true });
这就是控制台日志的样子。输出来自使用DockerRode创建docker容器

{"stream":"\n"}
{"stream":" ---\u003e Using cache\n"}
{"stream":" ---\u003e 7b0c642899ce\n"}
{"stream":"\n"}
{"stream":" ---\u003e Using cache\n"}
{"stream":" ---\u003e e01f16a7ed86\n"}
{"stream":"Step 8/11 : WORKDIR /home"}

为什么会出现这种情况?我如何解决

通过这样做而不是
stream.pipe(process.stdout)

stream.on('data', data => {
  try {
    console.log(JSON.parse(data.toString()).stream);
  } catch (error) {
    return;
  }
});