该处理是否必须同步完成?数据是否必须按顺序完成?
解决办法:
(1)将数据分页,利用分页的原理,每次服务器端只返回一定数目的数据,浏览器每次只对一部分进行加载。(页码,每一页展示多少个数据)
(2)使用懒加载的方法,每次加载一部分数据,其余数据当需要使用时再去加载。(是在列表尾部放一个空节点blank,然后先渲染第1页数据,向上滚动,等到blank出现在视图中,就说明到底了,这时候再加载第二页,往后以此类推。获取bank的top属性)
(3)使用数组分块技术,基本思路是为要处理的项目创建一个队列,然后设置定时器每过一段时间取出一部分数据,然后再使用定时器取出下一个要处理的项目进行处理,接着再设置另一个定时器。
(4)虚拟列表,每次只渲染需要视口的部分。
浏览器渲染=康熙选秀:一次性渲染10000个肯定会使浏览器压力大,造成用户体验差
容器可视区域=选秀大殿:10000个排队去渲染,比如一次渲染10个
上方下方区域=左右偏殿:轮不到你渲染,你就乖乖进空白区待着
虚拟列表