用云函数做分页加载
1.新建一个fenyeyun的页面和一个fenye的云函数

2.wxml和wxss与上一节小程序的分页加载代码一样
<view wx:for="{{list}}">
<view class="num">
{{item.num}}
</view>
</view>.num{
height: 50px;
background-color: greenyellow;
border-bottom: 1px solid black;
}3.编写index云函数,注意初始化环境
cloud.init({
env:cloud.DYNAMIC_CURRENT_ENV//选择当前的云环境
})
// 云函数入口函数
exports.main = async (event, context) => {
return await cloud.database().collection('num')
.skip(event.len)//做分页用
.limit(event.pageNum)//每页加载多少条
.get()
}补充知识点await

来源:(1条消息) JS中的async/await的用法和理解_像风一样自由-CSDN博客
4.fenyeyun.js的代码,与之前的大同小异
Page({
data: {
list: []
},
onLoad: function (options) {
this.getList()
},
getList() {
wx.showLoading({
title: '加载中....',
})
let len = this.data.list.length
console.log('当前list的长度', len)
//调用云函数的方法
wx.cloud.callFunction({
name: 'fenye',
data: {
len: len, //做分页用的
pageNum: 30 //每页加载30条数据
}
}).then(res => {
wx.hideLoading() // 加载成功就隐藏加载中
console.log('调用云函数成功了', res.result.data)
let dataList = res.result.data //加载最后一页会返回空数据,dataList数组长度为0
if (dataList.length <= 0) {
wx.showToast({
icon: 'none',
title: '没有更多数据了',
})
}
this.setData({
//concat方法能将之前res.data里的数据附着在现在的data后面
list: this.data.list.concat(dataList )
})
})
.catch(err => {
console.error('调用云函数失败了', err)
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
this.getList()
},
})实现效果:可以一次加载100条以内

版权声明:本文为TaylorZ9826原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。