web-dev-qa-db-ja.com

console.logにパイプすることは可能ですか?

Node.jsを学ぼうとしています。

ストリームとパイピングを理解しようとしています。

HTTPリクエストの応答をconsole.logにパイプすることは可能ですか?

ハンドラーをデータイベントにバインドすることでこれを行う方法は知っていますが、コンソールにストリーミングすることに興味があります。

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

ありがとう

27
spinners

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);
55
Ben Fortune