我想一次文件需要多长时间使用它来下载一个HTTPRequest像这样:的setInterval 1毫秒似乎并没有实际上是1ms的
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秒钟,但只能在250ms左右。
为什么setInterval
真的不是每1ms?
可能重复[什么是setTimeout的最小毫秒值?](http://stackoverflow.com/questions/9647215/what-is-minimum-millisecond-value-of-settimeout) –
如果你想知道如何花了很长时间,比较时间戳。 'setInterval'和家人在给定的延迟之后的某个时候发射,当它有机会的时候。 –
嗨,亚历克斯,时间戳!当然。 –