连接与回调
示例上下文
import { createClientConfig, PushClient } from '@tigeropenapi/tigeropen';
const config = createClientConfig({
tigerId: 'your_tiger_id',
privateKey: 'your_private_key',
account: 'your_account',
});
const pushClient = new PushClient(config);
// 设置回调函数
pushClient.setCallbacks({
onConnect: () => {
console.log('连接成功');
// 连接成功后开始订阅
pushClient.subscribeQuote(['AAPL', '00700']);
},
onQuote: (data) => {
console.log('行情推送:', data.symbol, data.latestPrice);
},
onTick: (data) => {
console.log('逐笔推送:', data.symbol, data.volume);
},
onKline: (data) => {
console.log('K线推送:', data.symbol);
},
onDisconnect: () => {
console.log('连接断开');
},
onError: (err) => {
console.error('错误:', err.message);
},
});
// 发起连接
pushClient.connect();获取连接状态
签名
get state(): ConnectionState用途
读取当前推送连接状态。
参数、默认值与约束
无参数。
返回
ConnectionState
可能的值:ConnectionState.Disconnected、ConnectionState.Connecting、ConnectionState.Connected
示例
const result = pushClient.state;
console.log(result);设置回调
签名
setCallbacks(cb: Callbacks): void用途
替换当前推送回调集合。所有推送数据通过回调函数异步接收。
参数、默认值与约束
| 参数 | 类型 | 必填 | SDK 默认值 | 约束 |
|---|---|---|---|---|
cb | Callbacks | 是 | None | — |
cb.onQuote | ((data: QuoteData) => void) | undefined | 否 | 无 | — |
cb.onTick | ((data: TradeTickData) => void) | undefined | 否 | 无 | — |
cb.onDepth | ((data: QuoteDepthData) => void) | undefined | 否 | 无 | — |
cb.onOption | ((data: QuoteData) => void) | undefined | 否 | 无 | — |
cb.onFuture | ((data: QuoteData) => void) | undefined | 否 | 无 | — |
cb.onKline | ((data: KlineData) => void) | undefined | 否 | 无 | — |
cb.onStockTop | ((data: StockTopData) => void) | undefined | 否 | 无 | — |
cb.onOptionTop | ((data: OptionTopData) => void) | undefined | 否 | 无 | — |
cb.onFullTick | ((data: TickData) => void) | undefined | 否 | 无 | — |
cb.onQuoteBBO | ((data: QuoteData) => void) | undefined | 否 | 无 | — |
cb.onAsset | ((data: AssetData) => void) | undefined | 否 | 无 | — |
cb.onPosition | ((data: PositionData) => void) | undefined | 否 | 无 | — |
cb.onOrder | ((data: OrderStatusData) => void) | undefined | 否 | 无 | — |
cb.onTransaction | ((data: OrderTransactionData) => void) | undefined | 否 | 无 | — |
cb.onConnect | (() => void) | undefined | 否 | 无 | — |
cb.onDisconnect | (() => void) | undefined | 否 | 无 | — |
cb.onError | ((err: Error) => void) | undefined | 否 | 无 | — |
cb.onKickout | ((message: string) => void) | undefined | 否 | 无 | — |
返回
void
示例
pushClient.setCallbacks({
onConnect: () => {
console.log('已连接');
pushClient.subscribeQuote(['AAPL']);
},
onQuote: (data) => {
console.log(`${data.symbol} 最新价: ${data.latestPrice}`);
},
onError: (err) => {
console.error('推送错误:', err.message);
},
});连接
签名
connect(): Promise<void>用途
连接推送服务器并完成鉴权。连接成功后会触发 onConnect 回调。
参数、默认值与约束
无参数。
返回
Promise<void>示例
await pushClient.connect();断开连接
签名
disconnect(): void用途
主动断开推送连接并停止自动重连。断开后会触发 onDisconnect 回调。
参数、默认值与约束
无参数。
返回
void
示例
pushClient.disconnect();查询已订阅标的
签名
getSubscriptions(): Map<SubjectType, string[]>用途
查询当前行情订阅列表。
参数、默认值与约束
无参数。
返回
Map<SubjectType, string[]>
示例
const subs = pushClient.getSubscriptions();
// Map { 'Quote' => ['AAPL', '00700'], 'Tick' => ['AAPL'] }
console.log(subs);查询账户订阅
签名
getAccountSubscriptions(): Map<SubjectType, string>用途
查询当前账户推送订阅。
参数、默认值与约束
无参数。
返回
Map<SubjectType, string>
示例
const subs = pushClient.getAccountSubscriptions();
console.log(subs);Updated 9 days ago
Did this page help you?
