/** * Promise 防抖(每个异步执行和对外界有赋值行为前都需要 signal.throwIfAborted()) * @description 用于防止多次调用函数导致重复执行,能够真正中断之前还未完成的异步操作 * @param executor 需要执行的Promise函数,不希望 executor 添加一个额外的 signal,必须前后保持一致 * @returns Promise函数 * @example * const func = debouncePromise(async (signal, name, age) => { * // 确保:每个异步执行和对外界有赋值行为前都需要 signal.throwIfAborted(); * signal.throwIfAborted(); * await new Promise((resolve) => resolve(`${name} 第一步完成`)); * // 确保:每个异步执行和对外界有赋值行为前都需要 signal.throwIfAborted(); * signal.throwIfAborted(); * return `${name} 的结果`; * }); * func('任务1', 100); * func('任务2', 100); * func('任务3', 100); */ export declare function debouncePromise(executor: (signal: AbortSignal, ...args: T) => Promise): (...args: T) => Promise;