Passer au contenu principal
Paginateur pour la X API avec des fonctionnalités avancées Cette classe fournit une prise en charge complète de la pagination pour la X API, notamment :
  • Itération automatique avec des boucles for await...of
  • Contrôle manuel des pages avec fetchNext() et fetchPrevious()
  • Accès aux métadonnées pour les jetons de pagination et les compteurs
  • Gestion des erreurs et détection des limites de débit
  • Prise en charge de la pagination vers l’avant et vers l’arrière
Exemple
// 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); // Jeton de la page suivante

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

Paramètres de type

NomDescription
TLe type des éléments à paginer

Hiérarchie

Implémente

  • AsyncIterable<T>

Constructeurs

constructor

new Paginator<T>(fetchPage): Paginator<T> Crée une nouvelle instance de Paginator

Paramètres de type

Nom
T

Paramètres

NomTypeDescription
fetchPage(token?: string) => Promise<PaginatedResponse<T>>Fonction qui récupère une page de données à partir d’un jeton de pagination

Renvoie

Paginator<T>

Défini dans

paginator.ts:90

Accesseurs

items

get items(): T[] Renvoie tous les éléments récupérés

Renvoie

T[]

Défini dans

paginator.ts:97

meta

get meta(): any Récupère les métadonnées de pagination en cours

Renvoie

any

Défini dans

paginator.ts:104

includes

get includes(): undefined | Record<string, any> Récupère les données actuelles de includes

Valeur de retour

undefined | Record<string, any>

Défini dans

paginator.ts:111

errors

get errors(): undefined | any[] Récupère les erreurs actuelles

Renvoie

undefined | any[]

Défini dans

paginator.ts:118

done

get done(): boolean Vérifier si la pagination est terminée

Renvoie

boolean

Défini dans

paginator.ts:125

rateLimited

get rateLimited(): boolean Indique si la limite de débit a été atteinte

Renvoie

boolean

Défini dans

paginator.ts:132

Méthodes

fetchNext

fetchNext(): Promise<void> Récupère la page suivante et ajoute les éléments à l’instance en cours Cette méthode récupère la page de données suivante et ajoute les éléments à l’instance en cours du paginateur. Elle met à jour l’état de la pagination et les métadonnées.

Renvoie

Promise<void> Exemple
const followers = await client.users.getFollowers('783214');
await followers.fetchNext(); // Récupérer la première page
console.log(followers.items.length); // Nombre d'abonnés

if (!followers.done) {
  await followers.fetchNext(); // Récupérer la deuxième page
  console.log(followers.items.length); // Total des abonnés sur toutes les pages
}
Throws Lorsque la requête à l’API échoue

Défini dans

paginator.ts:156
next(): Promise<Paginator<T>> Récupère la page suivante sous forme de nouvelle instance Cette méthode crée une nouvelle instance de paginator qui démarre à la page suivante, sans modifier l’état du paginator actuel.

Renvoie

Promise<Paginator<T>> Nouvelle instance de Paginator pour la page suivante Exemple
const followers = await client.users.getFollowers('783214');
await followers.fetchNext(); // Récupère la première page

if (!followers.done) {
  const nextPage = await followers.next(); // Obtient la page suivante en tant que nouvelle instance
  console.log(followers.items.length); // Toujours la première page
  console.log(nextPage.items.length); // Deuxième page
}

Défini dans

paginator.ts:211

fetchPrevious

fetchPrevious(): Promise<void> Récupère la page précédente (si elle est prise en charge)

Retourne

Promise<void>

Défini dans

paginator.ts:225
previous(): Promise<Paginator<T>> Renvoie la page précédente sous forme d’une nouvelle instance

Retourne

Promise<Paginator<T>>

Défini dans

paginator.ts:260

fetchLast

fetchLast(count): Promise<void> Récupérer jusqu’à un nombre spécifié d’éléments supplémentaires

Paramètres

NomType
countnumber

Renvoie

Promise<void>

Défini dans

paginator.ts:274

reset

reset(): void Réinitialise le pagineur à son état initial

Renvoie

void

Défini dans

paginator.ts:288

[iterator]

[iterator](): Iterator<T, any, undefined> Itérateur sur tous les éléments récupérés

Renvoie

Iterator<T, any, undefined>

Défini dans

paginator.ts:303

[asyncIterator]

[asyncIterator](): AsyncIterator<T, any, undefined> Itérateur asynchrone permettant de récupérer automatiquement les pages

Renvoie

AsyncIterator<T, any, undefined>

Implémentation de

AsyncIterable.[asyncIterator]

Défini dans

paginator.ts:312