在普通javascript中执行Ajax请求时,似乎可以设置超时值。见How to detect timeout on an AJAX (XmlHttpRequest) call in the browser?
使用jQuery的ajax实现时,也可以使用&我假设其他类似的框架。见Set timeout for ajax (jQuery)
浏览器似乎对其默认超时有相当模糊的规范。见Browser Timeouts
因此,有人可能“嘿,我要为我的ajax请求设置超时,以便所有用户都具有相同的超时”。
但接下来,接下来的问题是:它会在所有情况下实际覆盖浏览器的超时吗?
当我说“所有”情况时,我的意思是,例如,如果浏览器超时值小于你的ajax请求超时值。
我怀疑它没有。
我还怀疑最好总是有一个超时错误处理程序,以确保无论发生什么,您都可以显示相关消息,这将为您的支持团队节省数小时的工作,&给贵公司的钱。见Determine if $.ajax error is a timeout
提前致谢
答案 0 :(得分:4)
这是一个有趣的问题,我在Chrome 59.0和Firefox 54.0中使用10分钟延迟服务作为后端进行了一些实验。
经过一些测试将客户端的超时设置为10分钟后,我在两个浏览器中300秒(5分钟)后出现错误响应,文本状态为“错误”,因此至少对于这两个浏览器它不是可以覆盖内部超时值。我假设市场上剩余的浏览器具有相同的行为。
我的测试脚本:(类似于vanilla JavaScript的结果)
let inset = scrollViewInset.contentInset
scrollView.contentInset = UIEdgeInsets(top: inset.top, left: inset.left, bottom: PREVIOUS_BOTTOM, right: inset.right)