簡體   English   中英

測量AJAX調用的處理時間

[英]measure processing time of AJAX call

我想測量處理 AJAX調用所需的時間 我已經啟動並運行但不知道如何在javascript中編寫代碼(僅限js)

var start = new Date().getTime();
doAjax({
  success: function() {
    var end = new Date().getTime();
    console.log('milliseconds passed', end - start);
  }
});

在開始執行ajax之前保存時間值,然后在完成后再次執行。 然后從另一個中減去一個表格並抽出你的時間。

由於javascript使用事件隊列,因此無法提供准確的計時。 這意味着您的程序可能會執行如下操作:

  • 啟動AJAX請求
  • 在此期間處理等待的鼠標單擊事件/任何其他等待代碼行
  • 開始處理AJAX就緒響應

不幸的是,就我所知,沒有辦法把事件添加到隊列中。 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();
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM