UNPKG

id-scanner-lib

Version:

Browser-based ID card, QR code, and face recognition scanner with liveness detection

53 lines (52 loc) 1.3 kB
/** * @file Worker工具 * @description 提供Web Worker相关的工具函数 * @module utils/worker */ /** * 检查是否支持Web Worker * @returns 是否支持Web Worker */ export declare function isWorkerSupported(): boolean; /** * 创建Worker * @param workerFunction Worker函数 * @returns Worker实例 */ export declare function createWorker<TInput, TOutput>(workerFunction: (input: TInput) => TOutput | Promise<TOutput>): { postMessage: (input: TInput) => Promise<TOutput>; terminate: () => void; }; /** * 工作线程池 * 用于管理和重用Worker线程,避免频繁创建和销毁 */ export declare class WorkerPool<T, R> { private workerFunction; private size; private workers; /** * 创建工作线程池 * * @param workerFunction 要在Worker中执行的函数 * @param size 池中Worker的数量 */ constructor(workerFunction: (data: T) => Promise<R> | R, size?: number); /** * 获取一个可用的Worker * * @returns Worker包装对象 */ private getAvailableWorker; /** * 执行任务 * * @param data 要处理的数据 * @returns 处理结果的Promise */ execute(data: T): Promise<R>; /** * 终止所有Worker */ terminate(): void; }