XMLHttpRequest中的超时和错误之间有什么区别?

时间:2019-03-17 12:44:39

标签: javascript http xmlhttprequest

有人会向我解释何时会出现错误和超时错误。
我在这里为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 :(得分:0)

XMLHttpRequest.timeout属性是一个无符号的长整数,表示请求在自动终止之前可以花费的毫秒数。默认值为0,表示没有超时。超时不应用于文档环境中使用的同步XMLHttpRequests请求,否则它将引发InvalidAccessError异常。发生超时时,将触发超时事件。

尽管请求超时onerror方法在服务器发送错误响应后立即触发。例如,如果服务器关闭,则您的timeout方法将在10秒后被触发。

更多信息:here