Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2020, 13:17
Новичок на форуме
Отправить личное сообщение для SerAl Посмотреть профиль Найти все сообщения от SerAl
 
Регистрация: 25.05.2020
Сообщений: 5

Время выполнения XMLHttpRequest
var start, stop;

var XHR = ("onload" in new XMLHttpRequest()) ? XMLHttpRequest : XDomainRequest;

var xhr = new XHR();

// (2) запрос на другой домен :)
xhr.open('GET', 'http://anywhere.com/request', true);
start = (new Date()).getTime();


xhr.onload = function() {
  alert( this.responseText );
stop = (new Date()).getTime();
document.getElementById("demo").innerHTML=stop - start;
}

xhr.onerror = function() {
  alert( 'Ошибка ' + this.status );
}

xhr.send();


Правильно ли так высчитывать время выполнения запроса?
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2020, 13:42
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

Сообщение от SerAl
Правильно ли так высчитывать время выполнения запроса?
Нет. Вы считаете время не только самого запроса, но и время на объявление слушателей событий + время, которое потребовалось пользователю, чтобы закрыть диалоговое окно (alert).

Если нужно время самого запроса, то инициализацию переменной старт нужно проводить перед вызовом метода send, а инициализацию переменной stop нужно объявлять сразу в слушателе onload и слушателе onerror (либо в методе onreadystatechange).

Зачем вам две метки времени - непонятно, достаточно одной (время начала), вторая переменная может хранить сразу длительность запроса.

Для получения метки времени также можно воспользоваться performance.now, если вам не нужна поддержка старых браузеров, это даже будет правильнее.
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2020, 19:49
Новичок на форуме
Отправить личное сообщение для SerAl Посмотреть профиль Найти все сообщения от SerAl
 
Регистрация: 25.05.2020
Сообщений: 5

Спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Position fixed, но динамический по оси ОХ tvixa Элементы интерфейса 4 09.09.2013 15:39
Отмена действия события во время выполнения анимации gunsoy Общие вопросы Javascript 2 12.06.2012 13:27
Время выполнения z700i Общие вопросы Javascript 7 02.11.2011 16:10
Google Chrome перерисовка страницы во время выполнения скрипта Dekart Javascript под браузер 0 08.06.2010 08:35
разное время выполнения операции ropowek Events/DOM/Window 2 08.10.2008 13:27