/** * 同步队列内部项。 * @internal */ declare class SyncQueueItem { key: string; running: boolean; funcs: { func: Function; thisArg: any; params: any[]; resolve?: Function; }[]; constructor(key: string); /** * 将一个函数加入队列,返回 Promise 等待执行结果。 */ add(func: Function, thisArg?: any, ...params: any[]): Promise; /** 依次执行队列中的函数 */ protected _run(): Promise; } /** * 同步队列工具,确保同一 key 下的异步操作按顺序串行执行。 * * @remarks * 典型场景:同一个玩家 ID 的操作必须按顺序执行,避免并发写入冲突。 * * @example * ```ts * // 同一玩家的操作会被串行化 * gSyncQueueTool.add("player_10086", async () => { * await player.save(); * }); * ``` */ export declare class SyncQueueTool { protected _queues: { [key: string]: SyncQueueItem; }; /** * 将一个函数加入指定 key 的同步队列。 * * @param key - 队列标识(如玩家 ID) * @param func - 要执行的异步函数 * @param thisArg - 可选的 this 绑定 * @param params - 传递给函数的参数 * @returns 函数的返回值 */ add(key: string, func: Function, thisArg?: any, ...params: any[]): Promise; } /** SyncQueueTool 全局单例 */ export declare let gSyncQueueTool: SyncQueueTool; export {};