脚本宝典收集整理的这篇文章主要介绍了前端优化处理大数据量,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
当有些地方不便于分页处理,但数据量较大时,页面往往出现卡死或者用户等待时间过长问题
解决:
@H_
126_5@
// data为所有数据的数组 , callback 拿到当数据要做的操作 ,pageSize 一次取多少条
export function UtilHandle
BigData(data, callback, pageSize = 100
) {
let totalCount = data.length;
// 共多少条
let
currentPageNumber = 1;
// 当前页数
let totalPageNumer = Math.c
eil(totalCount / pageSize);
//可分多少页,就是分割为多少个小数组
let handler = () =>
{
let start = (currentPageNumber - 1) *
pageSize;
let end = currentPageNumber *
pageSize;
let currentData = data.slice(start, end);
// 当前页的数据
if (
tyPEof callback
=== "function"
) {
callback(currentData, {
totalCount,
totalPageNumer,
currentPageNumber,
pageSize,
});
}
// console.LOG(
// `共${totalCount}条,共${totalPageNumer}页,当前第${currentPageNumber}条`
//
); // 未执行完,继续执行
if (currentPageNumber <
totalPageNumer) {
window.requestAnimationFrame(handler);
}
currentPageNumber++
;
};
handler();
}
调用:
let allData = [0, 1, 2 /**...很多条*/];
// data 为分割的小数组
UtilHandleBigData(allData, data => {
// do something...
});
脚本宝典总结
以上是脚本宝典为你收集整理的前端优化处理大数据量全部内容,希望文章能够帮你解决前端优化处理大数据量所遇到的问题。
如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。