Пытаюсь времени, сколько времени файл, необходимое для загрузки используя HTTPRequest так:setInterval на 1мс, кажется, не быть на самом деле 1мс
function getFile() {
'use strict';
var url = "data.bin";
var rawFile = new XMLHttpRequest();
var timer_var = setInterval(theTimer, 1);
rawFile.open("GET", url, true);
rawFile.onreadystatechange = function() {
if(rawFile.readyState === XMLHttpRequest.DONE && rawFile.status === 200) {
toLog(rawFile.responseText);
window.clearInterval(timer_var);
toLog("Milliseconds for download: " + time_taken);
}
};
rawFile.send(null);
}
function theTimer() {
'use strict';
toLog(time_taken);
time_taken++;
}
Как вы можете видеть, я setInterval
theTimer
вызова каждый одна миллисекунда. Все thetimer()
делает это приращение переменной, которая теоретически должна иметь значение в миллисекундах от того, как долго выполнялся интервал.
Когда файл был загружен, я выводю данные, очищаю таймер и отображаю время в мс. Однако значение не складывается. Я должен быть почти 2 секунды, но стоит всего около 250 мс.
Почему не setInterval
действительно каждые 1 мс?
Возможный дубликат [Что такое минимальная миллисекунда значения setTimeout?] (Http://stackoverflow.com/questions/9647215/what-is-minimum-millisecond-value-of-settimeout) –
Если вы хотите знать, как долго что-то взялось, сравнить временные метки. 'setInterval' и семейный огонь когда-то после заданной задержки, когда он получает шанс. –
Привет, Алекс, отметки времени! конечно. –