12 lines
		
	
	
		
			293 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			293 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
const createDebounce = (fn: Function, ms = 300) => {
 | 
						|
  let timeoutId: ReturnType<typeof setTimeout>
 | 
						|
  return function (this: any, ...args: any[]) {
 | 
						|
    clearTimeout(timeoutId)
 | 
						|
    timeoutId = setTimeout(() => {
 | 
						|
      return fn.apply(this, args)
 | 
						|
    }, ms)
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
export default createDebounce
 |