• 回调支持promise的debounce

    如果callback执行了的话,那么不论是否resolved都不会再被reject

    类型参数

    • T
    • CB extends ((...args: any[]) => Promise<T>)

    参数

    • callback: CB
    • delay: number

    返回 CB

    let times = 0;

    const dbFn = debounceAsync(() => {
    return new Promise((resolve) => {
    resolve(times++);
    });
    }, 100);

    await Promise.allSettled([dbFn(), dbFn(), dbFn(), dbFn()]);

    times; // 1