问题描述
上图是来自于百度的抓包请求分析状态,一般常见的有 status = 200,500,404,504,403,302……但这次遇到一个 status = canceled(第一次遇见还真一脸懵~)
原因分析
那响应status是canceled,这是什么情况呢?
答:原来是请求超时造成的。后端没有响应,前端会断开请求,也就是取消了请求,然后会把取消的状态返回,所以响应 status 是 canceled。因为之前的请求已经到了后端,后端也响应了数据,但是前端已经断开了请求,所以也就接收不到数据了。
解决方案
axios.config.timeout = 300000;
将前端请求超时延长,这里设置的是 5 分钟(当然我这里用的是 axios,如果用的是其他框架,同理可得)