私はnodeschoolからワークショップの下でノードを学習しています。ワークショップの名前は learnyounode、質問番号8です。HTTP COLLECT。
質問: 最初のコマンドライン引数として に提供されたURLへのHTTP GET要求を実行するプログラムを作成します。サーバからすべてのデータを収集し( では最初の "data"イベントではない)、コンソールに2行書き込む (stdout)。 最初に書き込む行は、サーバーから受信した文字の数が の整数でなければなりません。 2行目には、サーバーによって送信された文字の完全な文字列 が含まれている必要があります。
私が提出した答えは以下の通りです。ノードとhttp.getのパイプ機能
var http = require('http');
var url = process.argv[2];
http.get(url,function(res){
var body = '';
res.on('error',function(err){
console.error(err);
})
res.on('data',function(chunk){
body+=chunk.toString();
});
res.on('end',function(){
console.log(body.length);
console.log(body);
});
});
、彼らが提供する答えはしたが、
var http = require('http')
var bl = require('bl')
http.get(process.argv[2], function (response) {
response.pipe(bl(function (err, data) {
if (err)
return console.error(err)
data = data.toString()
console.log(data.length)
console.log(data)
}))
})
私はこれらの2つのコードの違いを知っていただきたいと思います。 http.get()とパイプがどのように動作するかを説明してください。
ここにも質問を記入してください – YakovL