【发布时间】:2015-05-05 14:37:57
【问题描述】:
有没有办法在服务器不可用时更快地使请求超时?我通过脚本标签请求一个文件,该文件在 21 秒后超时,此时页面尝试在没有它的情况下构建。请求的状态码是 502:Bad Gateway while server down.
我正在从已启动且运行良好的服务器向暂时处于羽翼未丰状态的服务器发出请求。正常的请求是这样的:
<script language="JavaScript" src="...someFileOnTheDownServer..."></script>
当请求尝试加载文件时,我的主页面的加载会阻塞并等待不会被提供的文件。
我可以异步加载文件,但这也会显示为“加载”状态,直到 21 秒过去。我宁愿只等待 2-5 秒来尝试检索文件。
这个问题看起来rather similar,但我认为5年后应该有更好的选择,更多关于这个主题的问题,或者一个真正的解决方案,在我指定的延迟时超时<script>标签。
我还没有看到 timeout 属性 on the MDN 的脚本标签。有没有人对 HTML5 async 属性有很好的经验?我宁愿不无限期地使用async,因为我更喜欢加载此文件然后渲染页面的体验......不要等待21秒!
更新
为了使异步成为一个选项,需要有一种方法可以在加载请求的文件后立即执行某些特定于页面的 javascript 代码。
我测试了async 属性,并且(对于兼容的浏览器)页面呈现时不会阻塞和等待文件。但是,我需要一些特定于页面的代码在页面加载后而不是之前运行。 This answer 似乎提供了一个解决方案,但我更喜欢的答案是能够以指定的时间间隔使脚本加载超时。
【问题讨论】:
标签: javascript jquery timeout