axios的http请求如何设置超时时间?

我向后端发送了一个请求,但是因为后端计算,返回比较慢,大概有2分钟。而前端请求超过60s就报超时。如何自己设置超时时间呢? [图片] 这样设置,不管用…
关注者
14
被浏览
77,224

3 个回答

axios 中有两种超时错误,一种是 HTTP 的超时,另一种是你自定的超时时间。

做了个简单的测试。

下面是用 axios 连接到国外网络时产生的超时错误,注意我并没有设置 timeout 选项。

浏览器控制台显示了错误:

而如果加上 timeout 选项,axios 在发生超时后会指出超了多少时间:

(我这里设置了1秒为超时时间)

你所说的“60s报超时”也许是 HTTP 的超时,并且有可能是后端引起的。

我做了另外一个测试:

先写一个简单的服务器脚本:

浏览器这边是:

然后运行脚本,打开网页。两分钟后,控制台返回了数据,HTTP 也返回 200:

也就是说,如果不给 axios 加超时选项,axios 可以一直等待请求的返回。

个人认为是后端的原因。至于 nginx 的配置,我就不太熟悉了。

给你一个好的解决方案, 不知道是否对你有用。

axios请求超时,设置重新请求的完美解决方法 - 掘金