Johu

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数组就可以直接插在表格里了

优化响应速度这种事情,还是让后端来吧,前端这种蠢死的行为少做的好🙄

posted @ 2020-09-19 10:10  Johu  阅读(1560)  评论(0编辑  收藏  举报