tav-media
Version:
Cross platform media editing framework
26 lines (25 loc) • 648 B
TypeScript
/**
* 异步任务调度器
* @ignore
* @internal
*/
export declare class Dispatcher {
private taskInQueue;
private uniqueTaskCancelTokens;
private tasks;
private id;
private waitForNextTask;
constructor();
private run;
/**
* 设定超时
* @param time 超时时间 ms
*/
private delay;
/**
* 将任务加入队列,相同 uniqueId 的任务会被替换
* @param task 任务函数
* @param uniqueId 任务唯一标识,用于取消前置相同 uniqueId 的任务
*/
queue<T>(task: () => Promise<T>, uniqueId?: string, timeout?: number): Promise<T | undefined>;
}