Pregunta medir el tiempo de procesamiento de la llamada AJAX


Quiero medir cuánto tiempo lleva procesar Llamada AJAX Lo tengo en funcionamiento pero no sé cómo codificarlo en javascript (sólo js)


13
2018-03-03 06:30


origen


Respuestas:


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

guarde un valor de tiempo antes de comenzar a hacer ajax, y luego vuelva a hacerlo cuando termine. Luego resta una forma de la otra y obtén tu tiempo.


26
2018-03-03 06:34



Esto no dará tiempos precisos porque javascript usa un cola de eventos. Eso significa que su programa puede ejecutarse así:

  • Comience la solicitud de AJAX
  • Mientras tanto, maneje un evento de clic de mouse en espera / cualquier otra línea de código de espera.
  • Comience a manejar la respuesta lista para AJAX

Lamentablemente, no hay forma de obtener el tiempo que el evento se agregó a la cola, hasta donde yo sé. Event.timeStamp devuelve la hora en que se sacó el evento de la cola, vea este violín: 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();
    }
});

3
2017-07-03 10:42