- 使用
for await...of循环进行自动迭代 - 通过
fetchNext()和fetchPrevious()进行手动翻页控制 - 访问用于分页令牌和计数的 meta 数据
- 错误处理与速率限制检测
- 支持正向与反向分页
示例
类型参数
| 名称 | 说明 |
|---|---|
T | 分页条目的类型 |
层次结构
-
Paginator↳PostPaginator↳UserPaginator↳EventPaginator
实现
AsyncIterable<T>
构造器
构造函数
T>(fetchPage): Paginator<T>
创建新的分页器实例
类型参数
| 名称 |
|---|
T |
参数
| 名称 | 类型 | 描述 |
|---|---|---|
fetchPage | (token?: string) => Promise<PaginatedResponse<T>> | 基于分页令牌获取一页数据的函数 |
返回
Paginator<T>
定义于
paginator.ts:87访问器
items
get items(): T[]
获取所有已拉取的项目
返回
T[]
定义于
paginator.ts:94meta
get meta(): any
获取当前分页元信息
返回值
any
定义位置
includes
get includes(): undefined | Record<string, any>
获取当前 includes 数据
返回值
undefined | Record<string, any>
定义于
paginator.ts:108errors
get errors(): undefined | any[]
获取当前错误信息
返回值
undefined | any[]
定义于
paginator.ts:115done
get done(): boolean
检查分页是否已完成
返回
boolean
定义于
paginator.ts:122rateLimited
get rateLimited(): boolean
检查是否达到速率限制
返回值
boolean
定义于
paginator.ts:129方法
fetchNext
Promise<void>
获取下一页并将项目添加到当前实例
此方法会获取下一页的data,并将这些项目附加到当前分页器实例,同时更新分页状态和meta信息。
返回值
Promise<void>
示例
Throws
当 API 请求失败时抛出
定义于
paginator.ts:153next
Promise<Paginator<T>>
以新的实例获取下一页
此方法会创建一个从下一页开始的新分页器实例,且不会影响当前分页器的状态。
返回
Promise<Paginator<T>>
用于获取下一页的新的分页器实例
示例
定义于
paginator.ts:208fetchPrevious
Promise<void>
获取上一页(如果支持)
返回值
Promise<void>
定义于
paginator.ts:222previous
Promise<Paginator<T>>
以新实例获取上一页
返回
Promise<Paginator<T>>
定义于
paginator.ts:257fetchLast
count): Promise<void>
获取最多指定数量的附加项
参数
| 名称 | 类型 |
|---|---|
count | number |
返回值
Promise<void>
定义于
paginator.ts:271重置
void
将分页器重置为初始状态
返回值
void
定义于
paginator.ts:285[iterator]
Iterator<T, any, undefined>
用于迭代所有已获取项的迭代器
返回值
Iterator<T, any, undefined>
定义于
paginator.ts:300[asyncIterator]
AsyncIterator<T, any, undefined>
可自动分页获取数据的异步迭代器
返回值
AsyncIterator<T, any, undefined>