@friendlyjesse/library
Version:
rollup + typescript 制作的工具函数函数库
55 lines (54 loc) • 1.74 kB
TypeScript
import EventBus from './eventBus';
import { Options } from '../../typings';
/**
* Socket 类
* @author Jesse <jessexinyu@foxmail.com>
* @extends EventBus
*/
declare class Socket extends EventBus {
private instance;
private status;
private heartbeat;
private heartbeatShut;
private url;
private params;
private reconnectCount;
reconnectMax: number;
reconnectTime: number;
heartTimeout: number;
logger: boolean;
/**
* 创建一个 socket 实例
* @param url - url
* @param params - params
* @param params.type - type
* @param params.token - token
* @param options - 可配置项
* @param {number} [options.reconnectMax = 10] - 最大重连数
* @param {number} [options.reconnectTime = 3000] - 重连间隔
* @param {number} [options.heartTimeout = 60000] - 心跳间隔
* @param {boolean} [options.logger = true] - 是否开启日志
*/
constructor(url: string, params: Object, options?: Options);
/**
* 发送消息
* @param {Object/ArrayBuffer} data - 需要发送的内容
* @param {Function=} success - 接口调用成功的回调函数
* @param {Function=} fail - 接口调用失败的回调函数
* @param {Function=} complete - 接口调用结束的回调函数(调用成功、失败都会执行)
*/
send<T>(data: Object | ArrayBuffer, ...handlers: T[]): void;
/**
* 主动关闭 socket
*/
shut(): void;
private init;
private onOpen;
private onClose;
private onMessage;
private reconnect;
private heartbeatCheck;
private heartbeatReset;
private complete;
}
export default Socket;