@lesjoursfr/browser-tools
    Preparing search index...

    Function debounce

    • Creates a debounced function that delays invoking func until after wait milliseconds have elapsed since the last time the debounced function was invoked, or until the next browser frame is drawn. Provide options to indicate whether func should be invoked on the leading and/or trailing edge of the wait timeout. The func is invoked with the last arguments provided to the debounced function. Subsequent calls to the debounced function return the result of the last func invocation. Note: If leading and trailing options are true, func is invoked on the trailing edge of the timeout only if the debounced function is invoked more than once during the wait timeout. If wait is 0 and leading is false, func invocation is deferred until the next tick, similar to setTimeout with a timeout of 0.

      Type Parameters

      • F extends (...args: any) => any

      Parameters

      • func: F

        The function to debounce

      • wait: number

        The number of milliseconds to delay

      • Optionaloptions: { leading?: boolean; maxWait?: number; trailing?: boolean } = {}

        The options object

        • Optionalleading?: boolean

          Specify invoking on the leading edge of the timeout

        • OptionalmaxWait?: number

          The maximum time func is allowed to be delayed before it's invoked

        • Optionaltrailing?: boolean

          Specify invoking on the trailing edge of the timeout

      Returns (...args: Parameters<F>) => ReturnType<F>

      Returns the new debounced function