难度级别:中高级及以上 提问概率:65%
在真实工作中,如果遇到服务端一次性返回给前端1万条数据的场景,是非常不应该的。如果服务端可以给前端一次性返回1万条数据的话,那说不准哪次的接口请求数据就会更多。海量的响应数据无疑会使接口响应速度变慢,用户处于长时间的等待中,甚至还会造成接口响应超时。而且大多数需求场景下,前端也很少有一次性要展示上万条数据的情况,所以如果前端遇到这种情况的话,应该尽量与服务端做接口协调,改为分页请求的方式。
如果排除接口响应失败的情况,只是就这道题而言,这属于特殊场景解决型面试题,那么从前端开发的角度来看,应该做出哪些应对方案呢?
首先这种大批量的数据获取,很可能并不是实时产生的,而是服务端采用定时任务的方式,每隔一段时间采集一次响应给前端显示。这样前端就可以在第一次获取数据过程中添加loading等待提示效果,等请求到响应数据后隐藏loading等待提示,将数据存储到localstorage中,并且通过与服务端协商为localstorage存储设置过期时间。通过这种方式,前端只是第一次