vue前端分页功能
前几天项目后端说数据库存取性能不佳,一个表格五条数据25秒才请求得到
突发奇想后端给前端全部的表格ID,让前端把表格数据一条一条,异步请求后端,后端再一条一条查询返回,再由前端构建表格数组,速度是快了不少,人差点送走🙃
前端分页代码
表格每页固定最多五条数据
// 表格总条数
let total = this.station.length
// 最后一页条数
let rest = 0
if (total <= 5) {
// 页数
this.page = 1
} else {
// 页数
this.page = parseInt(total / 5)
rest = total % 5
if (rest > 0) {
this.page += 1
}
}
点击分页
value.page
是点击的第几页,如有需要加上初始化value.page=1
第一页
let allPromise = []
let list = []
for (let i = ((value.page - 1) * 5); i < (rest === 0 ? ((value.page - 1) * 5 + 5) : ((value.page - 1) * 5 + rest)); i++) {
param.push({请求参数})
}
param.map((value) => {
// 构造异步请求数组
allPromise.push(API.getValue(value))
})
Promise.all(allPromise).then((res) => {
console.log(res)
// 存放返回结果
res.map((value) => {
list.push(value.data[0])
})
})
请求完了之后list
数组就可以直接插在表格里了
优化响应速度这种事情,还是让后端来吧,前端这种蠢死的行为少做的好🙄