Существуют ли полезные использование готового участка, отличное от «4» (полного) в обратном вызове xhr.onreadystateChange?

StackOverflow https://stackoverflow.com/questions/4504990

Вопрос

Вы когда -нибудь использовали объект XHR, чтобы перехватить OnreadyStateChange с готовым участком, отличным от «4» (завершен)?

Мне любопытно узнать, что вы когда -нибудь запускаете функцию с возможными различными значениями. Я не могу представить реальное использование других государств. Они что -то полезны, чтобы что -то сделать?

Может привести несколько практических примеров, если таковые имеются?

Я говорю об этом:

  • 0: запрос не инициализирован
  • 1: Серверное соединение установлено
  • 2: Полученный запрос
  • 3: Запрос на обработку
  • 4: Запрос закончен, и ответ готов
Это было полезно?

Решение

Я использую его на интрасети, которую я разработал в целях уведомления. Перехватывая состояние 3, я могу уведомить пользователя, что запрос начался.

Я также использую его во время запроса времени передачи. Я показываю время, прошедшее между штатами 3 и 4.

Поскольку я использую Mootools, я расширил класс запросов, чтобы запустить событие OnstateChange:

var EarlyRequest = new Class({Extends: Request,
 onStateChange: function() {
  this.fireEvent("onStateChange", [this.xhr.readyState]);
  this.parent();
 }
});

На дополнительной записке. Определения штатов, которые вы опубликовали (из W3CSchools) вводят в заблуждение, они яснее (от http://www.w3.org/tr/xmlhttprequest/#states):

  • Несомненно (числовое значение 0)Объект был построен.

  • Открыто (числовое значение 1)Метод Open () был успешно вызван. Во время этого состояния заголовки запроса могут быть установлены с помощью setRequestheader (), и запрос может быть сделан с помощью метода Send ().

  • Headers_received (числовое значение 2)Все перенаправления (если таковые имеются) были соблюдены, и все HTTP -заголовки окончательного ответа были получены. Несколько членов ответа объекта теперь доступны.

  • Загрузка (числовое значение 3)Ответный орган сущности принимается.

  • Сделано (числовое значение 4)Передача данных была завершена или что -то не так во время передачи (например, бесконечные перенаправления).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top