页面起始基准(0-based / 1-based,需与后端API保持一致)
加载方法,接收页码返回Promise
从响应中提取总页数的方法
从响应中提取结果列表的方法
Optional
opt: { 可选配置项
合并后的结果列表
// 基础用法:加载用户数据
const users = await loadByPage(
1,
(page) => api.get('/users', { params: { page } }),
(resp) => resp.data.pagination.totalPages,
(resp) => resp.data.list
);
// 高级用法:带回调监控和错误处理
const products = await loadByPage(
1,
(page) => productAPI.list({ page, pageSize: 50 }),
(resp) => Math.ceil(resp.totalCount / 50),
(resp) => resp.items,
{
onError: (err) => sentry.captureException(err),
onPage: (resp) => {
console.log(`Loaded ${resp.items.length} items from page ${resp.page}`)
}
}
);
分页加载数据