Skip to content

Function: debounce()

debounce<TArgs, ThisArg>(callback, delay, config): (...args) => void

Defined in: packages/core/src/deferred/debounce.ts:30

Returns a function that invokes the callback function after certain delay/timeout. All errors will be gracefully swallowed.

Type Parameters

TArgs

TArgs extends unknown[]

ThisArg

ThisArg

Parameters

callback

(this, ...args) => unknown

function to be invoked after timeout

delay

number = 50

(optional) timeout duration in milliseconds. Default: 50

config

DebounceOptions<ThisArg> = {}

Returns

(...args): void

Parameters

args

...TArgs

Returns

void

Example

javascript
import { deferred } from '@superutils/core'

const handleChange = deferred(
    event => console.log('Value:', event.target.value),
    300 // debounce delay in milliseconds
)

handleChange({ target: { value: 1 } }) // will be ignored
handleChange({ target: { value: 2 } }) // will be ingored
handleChange({ target: { value: 3 } }) // will be invoked