XMLHttpRequestUpload: событие timeout
Базовая реализация Широко поддерживается
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Примечание: Эта функция доступна в Потоках веб-работников, за исключением Сервисных рабочих процессов.
Событие timeout срабатывает, когда обработка прерывается из-за истечения заданного времени.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика событий.
addEventListener("timeout", (event) => {});
ontimeout = (event) => {};
Тип события
Объект ProgressEvent. Наследуется от Event.
Свойства события
Помимо перечисленных ниже свойств, доступны свойства из родительского интерфейса, Event.
-
lengthComputableТолько для чтения -
Флаг булевого типа, указывающий, можно ли вычислить объём всей работы и объём уже выполненной работы основным процессом. Другими словами, он указывает, можно ли измерить прогресс или нет.
-
loadedТолько для чтения -
Значение беззнакового 64-битного целого числа, указывающее объём работы, уже выполненной основным процессом. Соотношение выполненной работы можно рассчитать, разделив значение
totalна значение этого свойства. При загрузке ресурса с использованием HTTP, это значение учитывает только тело HTTP сообщения и не включает заголовки и другие накладные расходы. -
totalТолько для чтения -
Беззнаковое 64-битное целое число, представляющее общий объём работы, выполняемой основным процессом. При загрузке ресурса с использованием HTTP, это значение равно
Content-Length(размер тела сообщения) и не включает заголовки и другие накладные расходы.
Примеры
Использование события timeout
Вы можете использовать событие timeout для определения загрузки, которая остановилась из-за медленной скорости. Полный пример кода, который загружает файл и отображает прогресс-бар, смотрите на основной странице XMLHttpRequestUpload.
Таймаут устанавливается на объекте XMLHttpRequest с помощью свойства XMLHttpRequest.timeout.
// In case of an timeout we hide the progress bar
// Note that this event can be listened to on the xhr object too
function errorAction(event) {
progressBar.classList.remove("visible");
log.textContent = `Upload failed: ${event.type}`;
}
xhr.upload.addEventListener("timeout", errorAction);
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
timeout_event |
29 | 12 | 12 | 16 | 7 | 29 | 14 | 16 | 7 | 1.0 | 4.4 |
См. также
- Связанные события:
loadstart,load,progress,error,loadend,abort XMLHttpRequestUploadXMLHttpRequest.timeout
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequestUpload/timeout_event