Socket
Socket
Sign inDemoInstall

debounce

Package Overview
Dependencies
0
Maintainers
28
Versions
8
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

debounce

Delay function calls until a set time elapses after the last invocation


Version published
Maintainers
28
Weekly downloads
5,775,385
decreased by-8.82%

Weekly downloads

Package description

What is debounce?

The debounce npm package provides a function that delays the execution of a function until after a specified wait time has elapsed since the last time it was invoked. This is particularly useful for rate-limiting the execution of functions that may be called frequently, such as during window resizing, scrolling, or keyboard input, to improve performance and reduce the number of unnecessary function calls.

What are debounce's main functionalities?

Debouncing function calls

This code sample demonstrates how to use the debounce package to debounce a function that logs 'Input saved!' to the console. The function will only be called after 250 milliseconds have passed without the 'input' event being triggered.

const debounce = require('debounce');
const saveInput = debounce(() => console.log('Input saved!'), 250);
window.addEventListener('input', saveInput);

Immediate invocation option

This code sample shows how to use the debounce package with the immediate flag set to true. This causes the function to be executed immediately on the first call, then debounced for subsequent calls within the 250-millisecond timeframe.

const debounce = require('debounce');
const processChange = debounce(() => console.log('Change processed!'), 250, true);
window.addEventListener('change', processChange);

Canceling a debounced call

This code sample illustrates how to cancel a debounced function call. The 'cancel' method is used to prevent the debounced function from being called if it has not yet been executed.

const debounce = require('debounce');
const expensiveOperation = debounce(() => console.log('Operation executed!'), 1000);
expensiveOperation();
expensiveOperation.cancel();

Other packages similar to debounce

Readme

Source

debounce

Delay function calls until a set time elapses after the last invocation

Install

npm install debounce

Usage

import debounce from 'debounce';

function resize() {
	console.log('height', window.innerHeight);
	console.log('width', window.innerWidth);
}

window.onresize = debounce(resize, 200);

(You can also use const debounce = require('debounce'))

To later clear the timer and cancel currently scheduled executions:

window.onresize.clear();

To execute any pending invocations and reset the timer:

window.onresize.flush();

API

debounce(fn, wait, options?)

Creates a debounced function that delays execution until wait milliseconds have passed since its last invocation.

Set the immediate option to true to invoke the function immediately at the start of the wait interval, preventing issues such as double-clicks on a button.

The returned function has a .clear() method to cancel scheduled executions, and a .flush() method for immediate execution and resetting the timer for future calls.

  • p-debounce - Similar but handles promises.

Keywords

FAQs

Last updated on 15 Nov 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc