前幾天項目后端說數據庫存取性能不佳,一個表格五條數據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
數組就可以直接插在表格里了
優化響應速度這種事情,還是讓后端來吧,前端這種蠢死的行為少做的好🙄