我想衡量处理 AJAX调用需要多长时间。我已经启动并运行但不知道如何在javascript(仅限js)
中编码答案 0 :(得分:26)
var start = new Date().getTime();
doAjax({
success: function() {
var end = new Date().getTime();
console.log('milliseconds passed', end - start);
}
});
在开始执行ajax之前保存时间值,然后在完成后再次执行。然后从另一个中减去一个,然后抽出时间。
答案 1 :(得分:3)
由于javascript使用event queue,因此无法提供准确的时间安排。这意味着你的程序可以像这样执行:
不幸的是,就我所知,没有办法把事件添加到队列中。 Event.timeStamp返回事件从队列中弹出的时间,请参阅此小提琴:http://jsfiddle.net/mSg55/。
HTML:
<a href="#">link</a>
<div></div>
使用Javascript:
$(function() {
var startTime = new Date();
$('a').click(function(e) {
var endTime = new Date(e.timeStamp);
$('div').append((endTime - startTime) + " ");
//produce some heavy load to block other waiting events
var q = Math.PI;
for(var j=0; j<1000000; j++)
{
q *= Math.acos(j);
}
});
//fire some events 'simultaneously'
for(var i=0; i<10; i++) {
$('a').click();
}
});