2012-03-02 17 views
3

私は最近、私が以前持っていた質問への回答を尋ねた/受け入れた:How can I replicate the functionality of a wget with nodejsnode.jsの進捗状況を表示するchild_process.exec?

私のスクリプトは完全に機能していますが、ダウンロードした割合をユーザーに表示したいと考えています。私はそれが私たちにさらされているかどうかはわかりませんが(私は文書でそれを見ませんでした)、私はとにかくここで尋ねると思いました。いくつかの助けを愛するだろう!

ありがとうございます!

答えて

7

はい、できます。 child_process.spawnchild_process.execはコマンドを実行して出力をバッファしますが、spawndata,errorおよびendのイベントを出力します。あなたはそれを聞くことができ、あなたの進歩を計算することができます。 node docs for spawnには基本的な例があります。

更新:あなたの他の質問を見ました。これにはwgetを使用できますが、代わりにnodejsモジュールrequestをお勧めします。ここで要求してファイルを取得する方法は次のとおりです。

var request = require("request"); 

request(url, function(err, res, body) { 
    // Do funky stuff with body 
}); 

あなたは進行状況を追跡したい場合は、onResponseにコールバックを渡す:

function trackProgress(err, res) { 
    if(err) 
    return console.error(err); 

    var contentLength = parseInt(res.headers["content-length"], 10), 
     received = 0, progress = 0; 
    res.on("data", function(data) { 
    received += data.length; 
    progress = received/contentLength; 
    // Do funky stuff with progress 
    }); 
} 

request({url: url, onResponse: trackProgress}, function(err, res, body) { 
    // Do funky stuff with body 
}); 
+0

あなたは卵はあなたのデータは、エラーと終了のイベントを提供します」と言っています"それでは、spawnを使ってPythonスクリプトの実行を進めることは可能ですか?はいの場合は、この質問にお答えください。 http://stackoverflow.com/questions/33802895/show-progressbar-of-python-script-execution-with-nodejs – AshBringer

関連する問題