【2016-04-14】前端目录树加载速度优化

项目中有个报表配置页面,左侧是所有报表的目录树,右侧是报表的配置。

本来很简单的页面,随着报表的增多,页面展示的速度越来越慢,到了今天终于不能忍了,于是优化~

chrome里看了下XHR请求的加载速度,500ms,感觉应该还能忍,在timeline里发现XHR返回后处理花了1.7s,这个处理过程报错两部分:

  • ztree初始化;

  • select2控件初始化:select2控件可以搜索ztree中所有报表节点

本来以为是数据量比较大,导致ztree初始化比较慢,但是官方给出的demo表示5000个节点初始化只要70ms,遂排除ztree太慢的可能。

于是开始优化剩下的部分代码,方法很简单,移到setTimeout里,使之成为异步的,select2的初始化先排队,先渲染页面。

使用setTimeout还踩了个坑:

setTimeout(function () {
    // init select2
}, 20);

这样的可以异步,但是下面的就不异步了:

setTimeout(initSelect2(), 20);
function initSelect2(){
    // init select2   
}

原因嘛很简单,因为setTimeout第一个参数是函数名,写成initSelect2()就变成自执行了,快被自己蠢哭了。



转载于:https://my.oschina.net/rathan/blog/659475

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值