메인 콘텐츠로 건너뛰기
강력한 기능을 갖춘 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); // 팔로워 수
console.log(followers.meta.next_token); // 다음 페이지 토큰

// Check status
if (!followers.done) {
  await followers.fetchNext();
}

타입 매개변수

이름설명
T페이지네이션되는 항목의 타입

계층

구현

  • AsyncIterable<T>

생성자

constructor

new Paginator<T>(fetchPage): Paginator<T> 새 Paginator 인스턴스를 생성합니다

형식 매개변수

이름
T

매개변수

이름타입설명
fetchPage(token?: string) => Promise<PaginatedResponse<T>>페이지네이션 토큰이 주어졌을 때 data의 한 페이지를 가져오는 함수

반환

Paginator<T>

정의됨

paginator.ts:87

접근자

items

get items(): T[] 가져온 모든 항목을 반환합니다.

반환

T[]

정의

paginator.ts:94

meta

get meta(): any 현재 페이지 매김 메타데이터 가져오기

반환

any

정의 위치

paginator.ts:101

includes

get includes(): undefined | Record<string, any> 현재 includes 데이터 반환

반환

undefined | Record<string, any>

정의된 위치

paginator.ts:108

errors

get errors(): undefined | any[] 현재 errors를 가져옵니다

반환 값

undefined | any[]

정의됨

paginator.ts:115

완료

get done(): boolean 페이지네이션이 완료되었는지 확인합니다

반환

boolean

정의 위치

paginator.ts:122

rateLimited

get rateLimited(): boolean 레이트 리밋에 도달했는지 확인합니다

반환값

boolean

정의됨

paginator.ts:129

메서드

fetchNext

fetchNext(): Promise<void> 다음 페이지를 가져와 현재 인스턴스에 항목을 추가합니다 이 메서드는 다음 페이지의 data를 가져와 항목을 현재 페이지네이터 인스턴스에 이어 붙입니다. 페이지네이션 상태와 메타 정보를 업데이트합니다.

반환값

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:153
next(): Promise<Paginator<T>> 새 인스턴스로 다음 페이지 가져오기 이 메서드는 현재 페이지네이터의 상태에는 영향을 주지 않으면서, 다음 페이지부터 시작하는 새 페이지네이터 인스턴스를 생성합니다.

반환

Promise<Paginator<T>> 다음 페이지용 새 Paginator 인스턴스 예시
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:208

fetchPrevious

fetchPrevious(): Promise<void> 이전 페이지를 가져옵니다 (지원되는 경우)

반환

Promise<void>

정의된 위치

paginator.ts:222
previous(): Promise<Paginator<T>> 새 인스턴스로 이전 페이지를 가져옵니다

반환값

Promise<Paginator<T>>

정의됨

paginator.ts:257

fetchLast

fetchLast(count): Promise<void> 지정한 개수까지 추가 항목을 가져옵니다

매개변수

이름유형
countnumber

반환값

Promise<void>

정의 위치

paginator.ts:271

reset

reset(): void 페이지네이터를 초기 상태로 초기화합니다

반환값

void

정의됨

paginator.ts:285

[iterator]

[iterator](): Iterator<T, any, undefined> 가져온 모든 항목을 순회하는 이터레이터

반환값

Iterator<T, any, undefined>

정의 위치

paginator.ts:300

[asyncIterator]

[asyncIterator](): AsyncIterator<T, any, undefined> 페이지를 자동으로 가져오는 비동기 반복자

반환값

AsyncIterator<T, any, undefined>

구현

AsyncIterable.[asyncIterator]

정의됨

paginator.ts:309