基础流式传输
Copy
Ask AI
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'));
异步迭代
Copy
Ask AI
const stream = await client.stream.postsSample();
for await (const event of stream) {
// 每个事件都是一行已解析的 JSON(data/includes/matching_rules)
console.log(event);
}
流式管理
Copy
Ask AI
// 关闭流
stream.close();
// 自动重连(如果由你的封装启用)
// 默认的 EventDrivenStream 暴露了基础的重连钩子
错误处理
Copy
Ask AI
stream.on('error', (event) => {
const err = event.error || event;
console.error('流错误:', err);
});
stream.on('keepAlive', () => {
// 心跳事件
});