下拉菜单默认只返回10条数据

const MAX_LIMIT = 10
const query = db.collection('cate').get()
try{
const countResult = await db.collection('cate').count()
const total = countResult.total
// 计算需分几次取
const batchTimes = Math.ceil(total / 10)
const tasks = []

    for (let i = 0; i < batchTimes; i++) {
        const promise = db.collection('cate').skip(i * MAX_LIMIT).limit(MAX_LIMIT).get()
        tasks.push(promise)
    }
    
    // 等待所有
    const { array } = (await Promise.all(tasks)).reduce((acc, cur) => {
        这里如何将下面四行代码塞进来,返回的结果是一个数组array
    })
    
    const res = await new getToken().posteve(Tripurl,query)
    const data = res.data.map(item=>{return JSON.parse(item)})
    const array = {...{result:data}}
    new result(ctx,'SUCCESS',200,array).answer()
}

望采纳!!新年好🎉🎉🎉

参考一下这篇文章:
https://blog.csdn.net/J_mine/article/details/124067679

你这不是后台分页了吗?总共15条数据,返回第一页数据为10条有什么错?你下拉项这里不应该使用分页的数据,而应使用全部的数据

你的请求后端数据带分页参数了吧,要获取全部取决于你后端是怎么处理分页参数的。是否不带分页获取全部,或者是把一页大小设值为一个很大的常数

你这种是分页的接口,需要提交一个page参数才可以进行其他页数据的获取

img

两个解决方案:

  1. 通知后端小哥,把类别的数据做成一条能拿到完整数据的接口,不做任何分页,一返回就能拿到一个完整的数组(后端只需要新增一条接口。而前端不需要处理太多东西,除非后期数据量太大得做成虚表。)
  2. 做成懒加载,下拉继续请求接口(在性能上是优选,而且后端小哥不用干啥,但前端实现起来略麻烦)

以上是两个最优解决方案,有思路上的启发的话,望题主采纳