facade-signalr-client
Version:
facade signalr client
40 lines (39 loc) • 1.17 kB
TypeScript
import * as signalR from '@microsoft/signalr';
import { ICallback, IEventBus } from './../models';
export default class SignalRClient {
/**
* 5 sec 重连 计时器
*/
private pingTimer;
/**
* hub connection
*/
private connection;
/**
* signalr events
*/
events: IEventBus;
constructor();
/**
* 连接SignalR,返回SignalR的Promise连接
* @param {string} baseUrl 连接 SignalR 地址
* @param {string} queryString 地址的拼接参数,可空,如:id=xxx&name=xxxx;
*/
connect: (baseUrl: string, queryString: string) => Promise<signalR.HubConnection>;
/**
* 发送消息
* @param {string} methodName 发送的方法名
* @param {any} request 发送的请求参数
*/
sendMessage: (methodName: string, request: any) => Promise<any>;
/**
* 接受消息
* @param {string} methodName 接受消息的方法名
* @param {ICallback} callback 回调函数
*/
receiveMessage: (methodName: string, callback: ICallback) => void;
/**
* 重新连接
*/
private reconnect;
}