UNPKG

@leafer/task

Version:
55 lines (51 loc) 1.66 kB
import { ITaskProcessor, ITaskProcessorConfig, ITaskItem, IFunction, ITaskOptions } from '@leafer/interface'; declare class TaskProcessor implements ITaskProcessor { config: ITaskProcessorConfig; protected list: ITaskItem[]; protected parallelList: ITaskItem[]; protected parallelSuccessNumber: number; running: boolean; isComplete: boolean; protected timer: any; get total(): number; index: number; delayNumber: number; get finishedIndex(): number; get remain(): number; get percent(): number; constructor(config?: ITaskProcessorConfig); add(taskCallback: IFunction, options?: ITaskOptions | number): ITaskItem; protected push(task: ITaskItem, start?: boolean): void; protected empty(): void; start(): void; pause(): void; resume(): void; skip(): void; stop(): void; protected run(): void; protected runTask(): void; protected runParallelTasks(): void; protected runParallelTask(task: ITaskItem): void; private nextTask; protected setParallelList(): void; protected fillParallelTask(): void; protected onComplete(): void; protected onTask(task: ITaskItem): void; protected onParallelError(error: unknown): void; protected onError(error: unknown): void; destroy(): void; } declare class TaskItem implements ITaskItem { readonly id: number; parent: TaskProcessor; parallel: boolean; time: number; isComplete: boolean; isCancel: boolean; private task; constructor(task?: IFunction); run(): Promise<void>; complete(): void; cancel(): void; } export { TaskItem, TaskProcessor };