连接与回调
示例上下文
import { createClientConfig, PushClient } from '@tigeropenapi/tigeropen';
const config = createClientConfig();
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.ticks.length);
},
onKline: (data) => {
console.log('K 线推送:', data.symbol);
},
onDisconnect: () => {
console.log('连接断开');
},
onError: (err) => {
console.error('错误:', err.message);
},
});
// 发起连接
await 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 | 是 | 无 | Callbacks 由内部 push 模块导出,但包的 exports 仅开放根入口,而根入口未重新导出该类型,因此当前没有受支持的公开导入路径;对象字面量的回调参数仍可由 setCallbacks 推断 |
cb.onQuote | 行情数据回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onTick | SDK 解码逐笔回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onDepth | 深度行情回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onOption | 期权行情回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onFuture | 期货行情回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onKline | K 线回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onStockTop | 股票榜单回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onOptionTop | 期权榜单回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onFullTick | 完整逐笔回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onQuoteBBO | BBO 行情回调 | 否 | 无 | API 中真实存在;当前分派器不按 QuoteData.type 分支,Quote 数据类型的 BASIC 和 BBO 都发送到 onQuote |
cb.onAsset | 资产回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onPosition | 持仓回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onOrder | 订单状态回调 | 否 | 无 | 参数类型由上下文推断 |
cb.onTransaction | 成交明细回调 | 否 | 无 | 参数类型由上下文推断 |
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用途
主动断开推送连接并停止自动重连。调用 disconnect() 会同步触发 onDisconnect 回调。
参数、默认值与约束
无参数。
返回
void
示例
pushClient.disconnect();查询已订阅标的
签名
getSubscriptions(): Map<SubjectType, string[]>用途
查询客户端内存中记录的行情订阅列表。自动重连成功后,SDK 会使用这些记录重新订阅。
仅按 symbols 记录的普通行情订阅可正确恢复。subscribeMarket 的港股全市场行情订阅和榜单订阅未保存可用于正确恢复的完整 market 参数,断线重连后应显式重新订阅。缓存中的 HK 是市场参数,不是已订阅标的列表。
参数、默认值与约束
无参数。
返回
Map<SubjectType, string[]>
示例
const subs = pushClient.getSubscriptions();
// Map { SubjectType.Quote => ['AAPL', '00700'], SubjectType.Tick => ['AAPL'] }
console.log(subs);查询账户订阅
签名
getAccountSubscriptions(): Map<SubjectType, string>用途
查询客户端内存中记录的账户推送订阅。自动重连成功后,SDK 会使用这些记录重新订阅。
参数、默认值与约束
无参数。
返回
Map<SubjectType, string>
示例
const subs = pushClient.getAccountSubscriptions();
console.log(subs);Updated about 1 month ago
Did this page help you?
