ファイルをダウンロードする際にリアルタイムでダウンロード速度を表示したいのですが、次のコードは機能しません。 Speed
はダウンロード全体で0.0を返します。AJAXのダウンロード速度を計算する
https.get(options, function (update) {
fileSize = (parseInt(update.headers['content-length'])/1048576).toFixed(1);
startTime = (new Date()).getTime();
endTime = startTime;
update.on('data', function (chunk) {
file.write(chunk);
len += chunk.length;
fileDownloaded = (len/1048576).toFixed(1);
endTime = (new Date()).getTime();
time = (endTime - startTime)/1000;
speed = ((fileSize/time)/(1024 * 1024)).toFixed(2);
progressPercentage.html(fileDownloaded + ' MB/' + fileSize + ' MB ' + speed + ' MB/s');
});
});
変数のいくつかのより多くをyou IF出力、おそらく犯人を識別することができます。問題はどこから始まるのですか? – 4castle
@ User394839859 - これは 'update.headers ['content-length']'が評価されるようないくつかの基本を知らなくても遠隔でデバッグするのは難しいです。しかし、@CarlosCarucceは彼の答えに良い点を作っている。この適切なJSを(「var」などで変数を宣言して)作成し、クロージャ内の変数の範囲を確認するには、少なくともいくつかの手順を実行する必要があります。 – hightempo