for await...of루프를 사용한 자동 반복fetchNext()및fetchPrevious()를 사용한 수동 페이지 제어- 페이지네이션 토큰 및 개수에 대한 메타데이터 액세스
- 오류 처리 및 레이트 리미트 감지
- 순방향 및 역방향 페이지네이션 모두 지원
Example
type 매개변수
| Name | Description |
|---|---|
T | 페이지네이션할 항목의 type |
계층 구조
-
Paginator↳PostPaginator↳UserPaginator↳EventPaginator
구현
AsyncIterable<T>
생성자
constructor
T>(fetchPage): Paginator<T>
새로운 Paginator 인스턴스를 생성합니다.
타입 매개변수
| 이름 |
|---|
T |
매개변수
| 이름 | 타입 | 설명 |
|---|---|---|
fetchPage | (token?: string) => Promise<PaginatedResponse<T>> | 페이지네이션 토큰이 주어지면 데이터 한 페이지를 가져오는 함수 |
반환값
Paginator<T>
정의된 위치
접근자
items
get items(): T[]
가져온 모든 항목을 반환합니다.
반환값
T[]
정의 위치
paginator.ts:97meta
get meta(): any
현재 페이지네이션 메타데이터를 반환합니다
반환
any
정의된 위치
includes
get includes(): undefined | Record<string, any>
현재 includes 데이터를 반환합니다
반환
undefined | Record<string, any>
정의된 위치
errors
get errors(): undefined | any[]
현재 errors를 반환합니다
반환 값
undefined | any[]
정의된 위치
done
get done(): boolean
페이지네이션이 완료되었는지 확인합니다
반환
boolean
정의된 위치
rateLimited
get rateLimited(): boolean
요청이 rate limit에 걸렸는지 확인합니다.
반환값
boolean
정의된 위치
메서드
fetchNext
Promise<void>
다음 페이지를 가져와 현재 인스턴스에 항목을 추가합니다.
이 메서드는 데이터의 다음 페이지를 가져와 해당 항목을
현재 paginator 인스턴스에 덧붙입니다. 또한 페이지네이션 상태와 메타데이터를 업데이트합니다.
반환값
Promise<void>
예시
Throws
API 요청이 실패하면
정의된 위치
next
Promise<Paginator<T>>
새로운 인스턴스로 다음 페이지를 가져옵니다.
이 메서드는 현재 paginator의 상태에는 영향을 주지 않고,
다음 페이지부터 시작하는 새로운 paginator 인스턴스를 생성합니다.
반환값
Promise<Paginator<T>>
다음 페이지를 위한 새 Paginator 인스턴스
Example
정의된 위치
fetchPrevious
Promise<void>
이전 페이지를 가져옵니다 (지원되는 경우에만)
반환 값
Promise<void>
정의된 위치
previous
Promise<Paginator<T>>
이전 페이지를 새 인스턴스로 가져옵니다.
반환
Promise<Paginator<T>>
정의 위치
paginator.ts:260fetchLast
count): Promise<void>
지정한 개수까지 추가 항목을 가져옵니다
매개변수
| 이름 | type |
|---|---|
count | number |
반환 값
Promise<void>
정의된 위치
reset
void
페이지네이터를 초기 상태로 되돌립니다
반환 값
void
정의된 위치
[iterator]
Iterator<T, any, undefined>
가져온 모든 항목을 순회하는 이터레이터
반환
Iterator<T, any, undefined>
정의된 위치
[asyncIterator]
AsyncIterator<T, any, undefined>
자동으로 페이지를 가져오는 비동기 이터레이터
반환
AsyncIterator<T, any, undefined>