Perform debounce in React.js

前端 未结 30 1624
礼貌的吻别
礼貌的吻别 2020-11-22 04:11

How do you perform debounce in React.js?

I want to debounce the handleOnChange.

I tried with debounce(this.handleOnChange, 200) but it doesn\'t

30条回答
  •  悲&欢浪女
    2020-11-22 04:34

    Here's a working TypeScript example for those who use TS and want to debounce async functions.

    function debounce any>(time: number, func: T): (...funcArgs: Parameters) => Promise> {
         let timeout: Timeout;
    
         return (...args: Parameters): Promise> => new Promise((resolve) => {
             clearTimeout(timeout);
             timeout = setTimeout(() => {
                 resolve(func(...args));
             }, time)
         });
     }
    

提交回复
热议问题