UNPKG

facade-signalr-client

Version:

facade signalr client

40 lines (39 loc) 1.17 kB
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; }