axios 中有两种超时错误,一种是 HTTP 的超时,另一种是你自定的超时时间。
做了个简单的测试。
下面是用 axios 连接到国外网络时产生的超时错误,注意我并没有设置 timeout 选项。
浏览器控制台显示了错误:
而如果加上 timeout 选项,axios 在发生超时后会指出超了多少时间:
(我这里设置了1秒为超时时间)
你所说的“60s报超时”也许是 HTTP 的超时,并且有可能是后端引起的。
我做了另外一个测试:
先写一个简单的服务器脚本:
浏览器这边是:
然后运行脚本,打开网页。两分钟后,控制台返回了数据,HTTP 也返回 200:
也就是说,如果不给 axios 加超时选项,axios 可以一直等待请求的返回。
个人认为是后端的原因。至于 nginx 的配置,我就不太熟悉了。
给你一个好的解决方案, 不知道是否对你有用。
axios请求超时,设置重新请求的完美解决方法 - 掘金