近期在学习小程序云开发的时候,遇到一个坑,数据请求限制单次20条……
即便是遍历请求会出现一个数据整合异常,因为每次拿到数据的时间不一致导致有先后顺序
这里加入一个判断数组长度的方法,让新请求到的数据整合到历史数据后面
const db = await getApp().database()
let datacount = await db.collection(getApp().globalData.msg).count()
datacount = datacount.total
let alldata = []
for (let i = 0; i < datacount; i+=20){
db.collection(getApp().globalData.msg)
.orderBy('date', 'desc')// 降序
.where({
_person: this.data._person,
del: false,
})
.skip(i)
.get().then(res => {
console.log(i,res.data[0])
if (alldata.length < res.data.length) {
alldata = res.data.concat(alldata)
} else {
alldata = alldata.concat(res.data)
}
this.setData({
msglist: alldata
})
})
}