Documentation Index
Fetch the complete documentation index at: https://generaltranslation.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
다양한 기능을 갖춘 X API 페이지네이터
이 클래스는 X API를 위한 포괄적인 페이지네이션을 지원하며, 다음과 같은 기능을 제공합니다:
for await...of 루프를 사용한 자동 반복
fetchNext() 및 fetchPrevious()를 사용한 수동 페이지 제어
- 페이지네이션 토큰 및 개수에 대한 메타데이터 액세스
- 오류 처리 및 레이트 리미트 감지
- 순방향 및 역방향 페이지네이션 모두 지원
Example
// Automatic iteration
const followers = await client.users.getFollowers('783214');
for await (const follower of followers) {
console.log(follower.username);
}
// Manual control
const followers = await client.users.getFollowers('783214');
await followers.fetchNext();
console.log(followers.items.length); // Number of followers
console.log(followers.meta.nextToken); // 다음 페이지 토큰
// Check status
if (!followers.done) {
await followers.fetchNext();
}
| Name | Description |
|---|
T | 페이지네이션할 항목의 type |
• new Paginator<T>(fetchPage): Paginator<T>
새로운 Paginator 인스턴스를 생성합니다.
타입 매개변수
| 이름 | 타입 | 설명 |
|---|
fetchPage | (token?: string) => Promise<PaginatedResponse<T>> | 페이지네이션 토큰이 주어지면 데이터 한 페이지를 가져오는 함수 |
반환값
Paginator<T>
paginator.ts:90
• get items(): T[]
가져온 모든 항목을 반환합니다.
반환값
T[]
정의 위치
paginator.ts:97
• get meta(): any
현재 페이지네이션 메타데이터를 반환합니다
any
paginator.ts:104
• get includes(): undefined | Record<string, any>
현재 includes 데이터를 반환합니다
undefined | Record<string, any>
paginator.ts:111
• get errors(): undefined | any[]
현재 errors를 반환합니다
undefined | any[]
paginator.ts:118
• get done(): boolean
페이지네이션이 완료되었는지 확인합니다
boolean
paginator.ts:125
• get rateLimited(): boolean
요청이 rate limit에 걸렸는지 확인합니다.
반환값
boolean
paginator.ts:132
▸ fetchNext(): Promise<void>
다음 페이지를 가져와 현재 인스턴스에 항목을 추가합니다.
이 메서드는 데이터의 다음 페이지를 가져와 해당 항목을
현재 paginator 인스턴스에 덧붙입니다. 또한 페이지네이션 상태와 메타데이터를 업데이트합니다.
반환값
Promise<void>
예시
const followers = await client.users.getFollowers('783214');
await followers.fetchNext(); // 첫 페이지 가져오기
console.log(followers.items.length); // 팔로워 수
if (!followers.done) {
await followers.fetchNext(); // 두 번째 페이지 가져오기
console.log(followers.items.length); // 페이지 전체의 총 팔로워 수
}
Throws
API 요청이 실패하면
paginator.ts:156
▸ next(): Promise<Paginator<T>>
새로운 인스턴스로 다음 페이지를 가져옵니다.
이 메서드는 현재 paginator의 상태에는 영향을 주지 않고,
다음 페이지부터 시작하는 새로운 paginator 인스턴스를 생성합니다.
반환값
Promise<Paginator<T>>
다음 페이지를 위한 새 Paginator 인스턴스
Example
const followers = await client.users.getFollowers('783214');
await followers.fetchNext(); // 첫 페이지 가져오기
if (!followers.done) {
const nextPage = await followers.next(); // 새 인스턴스로 다음 페이지 가져오기
console.log(followers.items.length); // 여전히 첫 페이지
console.log(nextPage.items.length); // 두 번째 페이지
}
paginator.ts:211
▸ fetchPrevious(): Promise<void>
이전 페이지를 가져옵니다 (지원되는 경우에만)
Promise<void>
paginator.ts:225
▸ previous(): Promise<Paginator<T>>
이전 페이지를 새 인스턴스로 가져옵니다.
Promise<Paginator<T>>
정의 위치
paginator.ts:260
▸ fetchLast(count): Promise<void>
지정한 개수까지 추가 항목을 가져옵니다
Promise<void>
paginator.ts:274
▸ reset(): void
페이지네이터를 초기 상태로 되돌립니다
void
paginator.ts:288
▸ [iterator](): Iterator<T, any, undefined>
가져온 모든 항목을 순회하는 이터레이터
Iterator<T, any, undefined>
paginator.ts:303
▸ [asyncIterator](): AsyncIterator<T, any, undefined>
자동으로 페이지를 가져오는 비동기 이터레이터
AsyncIterator<T, any, undefined>
AsyncIterable.[asyncIterator]
paginator.ts:312