メインコンテンツへスキップ
多機能な X API 用 paginator このクラスは、X API 向けに包括的なページネーション機能を提供します。主な機能は次のとおりです。
  • for await...of ループによる自動イテレーション
  • fetchNext()fetchPrevious() による手動ページ制御
  • ページネーション用トークンおよび件数メタデータへのアクセス
  • エラー処理およびレート制限の検出
  • 順方向および逆方向の両方のページネーションに対応
Example
// 自動イテレーション
const followers = await client.users.getFollowers('783214');
for await (const follower of followers) {
  console.log(follower.username);
}

// 手動制御
const followers = await client.users.getFollowers('783214');
await followers.fetchNext();
console.log(followers.items.length); // フォロワー数
console.log(followers.meta.nextToken); // 次ページトークン

// ステータス確認
if (!followers.done) {
  await followers.fetchNext();
}

type パラメーター

NameDescription
Tページネーション対象となる要素の type

階層

実装

  • AsyncIterable<T>

コンストラクター

constructor

new Paginator<T>(fetchPage): Paginator<T> 新しい Paginator インスタンスを作成します

型パラメーター

名前
T

パラメーター

NameTypeDescription
fetchPage(token?: string) => Promise<PaginatedResponse<T>>ページネーション用トークンを受け取り、そのトークンに基づいてデータの1ページ分を取得する関数

戻り値

Paginator<T>

定義元

paginator.ts:90

アクセサ

items

get items(): T[] 取得されたすべてのアイテムを返します

戻り値

T[]

定義場所

paginator.ts:97

meta

get meta(): any 現在のページネーション用メタデータを取得します

戻り値

any

定義元

paginator.ts:104

includes

get includes(): undefined | Record<string, any> 現在の includes データを取得します

戻り値

undefined | Record<string, any>

定義元

paginator.ts:111

errors

get errors(): undefined | any[] 現在の errors を取得します

戻り値

undefined | any[]

定義場所

paginator.ts:118

done

get done(): boolean ページネーションが終了しているかどうかを確認します

戻り値

boolean

定義場所

paginator.ts:125

rateLimited

get rateLimited(): boolean レート制限に達したかどうかを判定します

戻り値

boolean

定義元

paginator.ts:132

メソッド

fetchNext

fetchNext(): Promise<void> 次のページを取得し、現在のインスタンスに項目を追加します このメソッドは次のページのデータを取得し、その項目を現在の paginator インスタンスに追加します。ページネーションの状態とメタデータを更新します。

戻り値

Promise<void>
const followers = await client.users.getFollowers('783214');
await followers.fetchNext(); // 1ページ目を取得
console.log(followers.items.length); // フォロワー数

if (!followers.done) {
  await followers.fetchNext(); // 2ページ目を取得
  console.log(followers.items.length); // ページ全体のフォロワー総数
}
Throws API リクエストが失敗した場合にスローされます。

定義場所

paginator.ts:156
next(): Promise<Paginator<T>> 次のページを新しいインスタンスとして取得します このメソッドは、現在の paginator の状態に影響を与えることなく、 次のページから開始する新しい paginator インスタンスを作成します。

Returns

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); // 2ページ目
}

定義元

paginator.ts:211

fetchPrevious

fetchPrevious(): Promise<void> 前のページを取得します (サポートされている場合)

戻り値

Promise<void>

定義場所

paginator.ts:225
previous(): Promise<Paginator<T>> 前のページを新しいインスタンスとして取得します。

戻り値

Promise<Paginator<T>>

定義元

paginator.ts:260

fetchLast

fetchLast(count): Promise<void> 指定した数まで追加の項目を取得します

パラメータ

NameType
countnumber

戻り値

Promise<void>

定義場所

paginator.ts:274

reset

reset(): void ページネーターを初期状態にリセットします

戻り値

void

定義場所

paginator.ts:288

[iterator]

[iterator](): Iterator<T, any, undefined> 取得済みのすべての項目を反復処理するためのイテレーター

戻り値

Iterator<T, any, undefined>

定義元

paginator.ts:303

[asyncIterator]

[asyncIterator](): AsyncIterator<T, any, undefined> ページを自動取得する非同期イテレーター

戻り値

AsyncIterator<T, any, undefined>

実装元

AsyncIterable.[asyncIterator]

定義元

paginator.ts:312