node.js - 是否可以通过管道传输到 console.log?

标签 node.js stream

我正在尝试学习 node.js。

我正在尝试理解流和管道。

是否可以将http请求的响应通过管道传输到console.log?

我知道如何通过将处理程序绑定(bind)到数据事件来做到这一点,但我对将其流式传输到控制台更感兴趣。

http.get(url, function(response) {
  response.pipe(console.log);
  response.on('end', function() {
    console.log('finished');
  });
});

最佳答案

console.log 只是一个将进程流通过管道传输到输出的函数。

注意以下是示例代码

console.log = function(d) {
  process.stdout.write(d + '\n');
};

通过管道连接到 process.stdout做同样的事情。

http.get(url, function(response) {
  response.pipe(process.stdout);
  response.on('end', function() {
    console.log('finished');
  });
});

注意你也可以这样做

process.stdout.write(response);

关于node.js - 是否可以通过管道传输到 console.log?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24427329/

相关文章:

C++ 运行时字符串格式化

java - 如何克隆输入流但仍然重新使用原始流

javascript - NodeJS fs.open 在现有文件上失败(不是路径问题)

javascript - 高级字符串本地化

javascript - Node - 查看 require() 期间使用的包版本是什么?

c++带有缩进的自定义输出流

node.js - 使用 mocha 和 sinon 在 Node 中模拟 http 请求

javascript - 在 Node request.headers 中设置权限

c# - 从同一个流中多次读取抛出 Stream 不支持并发 IO 读取或写入操作

c# - 使用隔离存储和 ProtectedData 保存用户凭据