/** * 任务队列封装, 同一时间只能处理一件事 * @filename: TaskQueue.js * @author: Mr Prince * @date: 2020-09-02 17:12:29 */ import Lock from './Lock'; interface Options { /** * 任务超时时间 */ timeout?: number; /** * 实际实行任务的函数 */ handler?: Function; } /** * @public */ declare class TaskQueue { access: Lock; timeout: number; handler: Function; constructor(options: Options); /** * 修改全局延时和回调函数 */ setOptions(options: Options): void; /** * 执行回调 * 需传入handler对应参数 */ push(...args: any[]): Promise; /** * 获取执行权限 * 超过一定时间后自动结束 */ private getAccess; } export default TaskQueue;