Passer au contenu principal
Le SDK TypeScript offre des capacités de diffusion en continu en temps réel pour les flux de données en direct.

Streaming de base

Connectez-vous aux publications échantillonnées en temps réel :
import { Client } from '@xdevplatform/xdk';

const client: Client = new Client({ bearerToken: 'your-bearer-token' });

// Publications publiques échantillonnées à 1 %
const stream = await client.stream.postsSample({
  tweetFields: ['id','text','created_at'],
  expansions: ['author_id'],
  userFields: ['id','username','name']
});

// Écouter les événements
stream.on('data', (event) => {
  // event correspond à la ligne JSON analysée (data/includes/matching_rules)
  console.log('Nouvelles données :', event);
});

stream.on('error', (e) => console.error('Erreur de flux :', e));
stream.on('close', () => console.log('Flux fermé'));

Itération asynchrone

Consommez le flux en utilisant l’itération asynchrone :
const stream = await client.stream.postsSample();
for await (const event of stream) {
  // Chaque événement est une ligne JSON analysée (data/includes/matching_rules)
  console.log(event);
}

Gestion du flux

Gérez le cycle de vie à partir du flux d’événements :
// Fermer le flux
stream.close();

// Reconnexion automatique (si activée par votre wrapper)
// L'EventDrivenStream par défaut expose des hooks de reconnexion de base

Gestion des erreurs

Gérez les erreurs de streaming et les reconnexions :
stream.on('error', (event) => {
  const err = event.error || event;
  console.error('Stream error:', err);
});

stream.on('keepAlive', () => {
  // événement heartbeat
});
Pour consulter des exemples de code détaillés avec le XDK JavaScript/TypeScript, rendez-vous sur notre dépôt GitHub d’exemples de code.