跳转到主要内容
TypeScript SDK 提供用于实时数据流的实时流式处理功能。

基础流式传输

连接实时抽样的 Post:
import { Client } from '@xdevplatform/xdk';

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

// 1% 抽样的公开 Post
const stream = await client.stream.postsSample({
  tweetfields: ['id','text','created_at'],
  expansions: ['author_id'],
  userfields: ['id','username','name']
});

// 监听事件
stream.on('data', (event) => {
  // event 为解析后的 JSON 行(data/includes/matching_rules)
  console.log('New data:', event);
});

stream.on('error', (e) => console.error('Stream error:', e));
stream.on('close', () => console.log('Stream closed'));

异步迭代

通过异步迭代消费流:
const stream = await client.stream.postsSample();
for await (const event of stream) {
  // 每个事件都是一行已解析的 JSON(data/includes/matching_rules)
  console.log(event);
}

流式管理

从事件驱动的流中管理生命周期:
// 关闭流
stream.close();

// 自动重连(如果由你的封装启用)
// 默认的 EventDrivenStream 暴露了基础的重连钩子

错误处理

处理流式错误与重连:
stream.on('error', (event) => {
  const err = event.error || event;
  console.error('流错误:', err);
});

stream.on('keepAlive', () => {
  // 心跳事件
});