UNPKG

toolset.io

Version:

前端开发常用工具集。

79 lines (78 loc) 2.99 kB
export declare const raf: (cb: FrameRequestCallback) => void; interface ThrottleOptions { leading?: boolean; trailing?: boolean; interval?: number; } interface DebounceOptions { leading?: boolean; trailing?: boolean; delay?: number; } /** * 将一个方法进行节流 * * @param method 需要节流的方法,需自行绑定 this * @param options 节流配置项,可设置间隔时间和 leading/trailing 行为 * * @returns 节流后的方法 */ export declare function throttle<T extends (...args: any[]) => any>(method: T, options?: number | ThrottleOptions): (...args: Parameters<T>) => void; /** * 将一个方法进行防抖 * * @param method 需要防抖的方法,需自行绑定 this * @param options 防抖配置项,可设置延迟时间和 leading/trailing 行为 * * @returns 防抖后的方法 */ export declare function debounce<T extends (...args: any[]) => any>(method: T, options?: number | DebounceOptions): (...args: Parameters<T>) => void; /** * 对给定的方法进行微任务级别的防抖 * * @param method 需要防抖的方法,需自行绑定 this * @param options 配置项,可设置 leading/trailing 行为 * * @returns 防抖后的方法 */ export declare function debounceMinor<T extends (...args: any[]) => any>(method: T, options?: { leading?: boolean; trailing?: boolean; }): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>; /** * 对给定的方法进行渲染帧级别的防抖 * * @param method 需要防抖的方法,需自行绑定 this * @param options 配置项,可设置 leading/trailing 行为 * * @returns 防抖后的方法 */ export declare function debounceFrame<T extends (...args: any[]) => any>(method: T, options?: { leading?: boolean; trailing?: boolean; }): (...args: Parameters<T>) => Promise<Awaited<ReturnType<T>>>; /** * 在下一微任务,仅执行一次传入的方法 * * @param method 需要执行的方法 * @param args 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数 */ export declare function nextTickOnce<T extends (...args: any[]) => any>(method: T, ...args: any[]): undefined; /** * 在下一渲染帧,仅执行一次传入的方法 * * @param method 需要执行的方法 * @param args 方法的额外参数,在方法调用前多次传入将会覆盖之前的参数 */ export declare function nextFrameOnce<T extends (...args: any[]) => any>(method: T, ...args: any[]): undefined; /** * 按指定的并发数,并行地为系列源数据执行操作 * * @param maxConcurrency 最大的并发数 * @param source 源数据 * @param iteratorFn 处理操作的异步函数 * * @returns 等待所有任务执行完的 Promise 对象 */ export declare function runParallel<T>(maxConcurrency: number, source: T[], iteratorFn: (item: T, source: T[]) => Promise<any>): Promise<any[]>; export {};