美文网首页
xhr 设置超时 timeout

xhr 设置超时 timeout

作者: 合肥黑 | 来源:发表于2019-03-11 14:24 被阅读0次

有个同事使用了axios设置了Xhr的超时时间,她说默认的是30秒。

XMLHttpRequest 官方文档

XMLHttpRequest.timeout 是一个无符号长整型数,代表着一个请求在被自动终止前所消耗的毫秒数。默认值为 0,意味着没有超时。超时并不应该用在一个 document environment 中的同步 XMLHttpRequests 请求中,否则将会抛出一个 InvalidAccessError 类型的错误。当超时发生, timeout 事件将会被触发。

XMLHttpRequest Level 2 使用指南

有时,ajax操作很耗时,而且无法预知要花多少时间。如果网速很慢,用户可能要等很久。新版本的XMLHttpRequest对象,增加了timeout属性,可以设置HTTP请求的时限。xhr.timeout = 3000;上面的语句,将最长等待时间设为3000毫秒。过了这个时限,就自动停止HTTP请求。与之配套的还有一个timeout事件,用来指定回调函数。

  xhr.ontimeout = function(event){
    alert('请求超时!');
  }

web超时配置总结
值得注意的一点是,超时时间的计算,是从调用xhr.send()开始,至xhr.loadend触发为止的这段时间。即时xhr.timeout的设置是在xhr.send()之后,timeout的计时起点仍为调用xhr.send()的时刻。

其实会了XMLHttpRequest的超时设置,其他前端的框架啊、工具啊的超时设置都不再是问题,这就有点万法归宗的意思。因为我们常用的jQuery.ajax()方法实际上就是对浏览器提供的XMLHttpRequest对象的封装。而又有很多其他框架或者工具的请求模块是对jQuery.ajax()的封装。说到底,都是依赖的XMLHttpRequest对象。因此掌握了XMLHttpRequest,其他都很好学会。
依jQuery.ajax()的超时设置为例:

    $.ajax({
        url: "test.html",
        error: function(){
            // will fire when timeout is reached
        },
        success: function(){
            // do something
        },
        timeout: 60*1000 // sets timeout to 1 minute
    });

另外还有设置nginx代理超时设置、服务端超时设置。

更多参考你真的会使用XMLHttpRequest吗?

相关文章

  • xhr 设置超时 timeout

    有个同事使用了axios设置了Xhr的超时时间,她说默认的是30秒。 在XMLHttpRequest 官方文档中 ...

  • xhr(二)

    一、xhr超时XHR对象的timeout属性等于一个整数,表示多少毫秒后,如果请求仍然没有得到结果,就会自动终止。...

  • requests timeout无效,加上setdefaultt

    在requests里,可以通过timeout参数 设置请求超时时间,超时则抛出异常 timeout=(10,30)...

  • iOS Socket connect超时的问题

    connect()一直会超时 可以设置超时时间 structtimevaltimeout; timeout.t...

  • 合理的timeout设置,让系统的SLA大幅提升

    如何更好的设置timeout 为什么会有timeout 百度了一下timeout的字面意思,就是简单的“超时”,那...

  • 你还在担心rpc接口超时吗

    在使用dubbo时,通常会遇到timeout这个属性,timeout属性的作用是:给某个服务调用设置超时时间,如果...

  • AJAX 的settings选项

    timeout 设置请求超时时间(毫秒)。此设置将覆盖全局设置。 url (默认: 当前页地址) 发送请求的地址。...

  • 发包程序小记

    1、说说发包程序里面的timeout 设置因为socket receive函数,如果没有设置超时时间就会按照默认时...

  • Okio 超时机制

    Okio中有同步超时和异步超时。 同步超时Timeout类 Timeout类提供了两个互补的控制机制来定义超时策略...

  • python 安装第三方库,超时报错--Read timed o

    出错实例: 解决方案: 解决方法,设置超时时间 pip --default-timeout=100 install...

网友评论

      本文标题:xhr 设置超时 timeout

      本文链接:https://www.haomeiwen.com/subject/cetbpqtx.html