UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

62 lines (61 loc) 1.48 kB
import { ReconnectOptions } from './types'; /** * Socket重连管理器 * 处理断线重连逻辑 */ export declare class ReconnectManager { private options; private attempts; private timer; private isReconnecting; private reconnectCallback; private onAttempt; private onSuccess; private onFail; private onMaxAttemptsExceeded; /** * 创建重连管理器实例 * @param options 重连配置 * @param reconnectCallback 重连执行函数 * @param callbacks 回调函数集合 */ constructor(options: ReconnectOptions, reconnectCallback: () => Promise<boolean>, callbacks?: { onAttempt?: (attempt: number) => void; onSuccess?: () => void; onFail?: (error: Error) => void; onMaxAttemptsExceeded?: () => void; }); /** * 启动重连过程 */ startReconnect(): void; /** * 停止重连过程 */ stopReconnect(): void; /** * 获取当前重连尝试次数 */ getReconnectAttempts(): number; /** * 获取当前是否正在重连 */ isActive(): boolean; /** * 重置重连状态 */ reset(): void; /** * 安排下一次重连尝试 */ private scheduleReconnect; /** * 执行重连操作 */ private executeReconnect; /** * 计算重连延迟时间 * 支持指数退避算法,增加随机抖动 */ private getReconnectDelay; }