/lodash-debounce-in-chinese

TypeScript implementation lodash.debounce written in Chinese

底橫的去抖動

註:在生產環境中請使用這個依賴

type 任何 = any;
type 空虛 = void;
type 未定義 = undefined;
type 數組<> = Array<>;
type 數字 = number;
type 布林 = boolean;
let 如果 = (條件: 任何, 然後: () => 空虛, 否則: () => 空虛) => (條件 ? 然後() : 否則());
let  = true;
let  = false;
let 設置定時 = setTimeout as (< extends 數組<任何>>(函數: (...參數: ) => 空虛, 延遲: 數字, ...參數: ) => 數字);
let 取消定時 = clearTimeout as ((定時器編號: 數字) => 空虛);
let 打印 = console.log;

let 底橫 = {
    去抖動< extends 數組<任何>>(函數: (...參數: ) => 空虛, 延遲: 數字 = 0) {
        let 定時器編號: 數字;
        return (...參數: ): 空虛 => {
            取消定時(定時器編號);
            定時器編號 = 設置定時(函數, 延遲, ...參數);
        };
    },
};

使用方法

你好 = 底橫.去抖動(() => 打印("你好世界"), 300);

你好();
你好();
你好();