В чем разница между временем ожидания и ошибкой в ​​XMLHttpRequest? - PullRequest
0 голосов
/ 17 марта 2019

Может кто-нибудь объяснить мне, когда возникнет ошибка, а также ошибка тайм-аута.
Я поставил здесь тайм-аут для PUT запроса, но в каком случае он будет называться onTimeout, а в каких onError обработчиках?

return new Promise(async function(resolve, reject) {
    const xhr = new XMLHttpRequest();
    xhr.open("PUT", url);

    xhr.timeout = 10000;

    xhr.onreadystatechange = async function() {
       ....
    }
    xhr.ontimeout = function() {
      // Time out.
    };

    xhr.onerror = function() {
      // Some error
    };
}

1 Ответ

0 голосов
/ 17 марта 2019

Свойство XMLHttpRequest.timeout - это длина без знака, представляющая количество миллисекунд, которое запрос может пройти до автоматического завершения.Значение по умолчанию равно 0, что означает отсутствие тайм-аута.Тайм-аут не должен использоваться для синхронных XMLHttpRequests запросов, используемых в среде документов, иначе он вызовет исключение InvalidAccessError.Когда происходит тайм-аут, возникает событие тайм-аута.

Несмотря на то, что метод тайм-аута запроса onerror срабатывает сразу после отправки сервером ответа об ошибке.Например, если ваш сервер выключен, ваш метод timeout будет запущен через 10 секунд.

Дополнительная информация: здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...