0.1.1 • Published 6 years ago
dualbounce v0.1.1
dualbounce
Debounce stuttering changes into a single change.
Installation
npm install dualbounceor
yarn add dualbounceExample
import dualbounce from "dualbounce";
const fn = dualbounce(
(newValue, oldValue) => console.log("From", oldValue, "to", newValue),
1000
);
for (var i = 0; i < 10; i++) {
fn(i + 1, i);
}
// After 1 second: "From 0 to 10"Returning values is supported too:
const fn = dualbounce(
(newValue, oldValue) => `From ${oldValue} to ${newValue}`,
1000
);
const promise = fn("Erica", "Monica");
fn("Rita", "Erica");
fn("Tina", "Rita")
console.log(await promise);
// After 1 second: "From Monica to Tina"All invocations of the dualbounced function within the wait period will return the same promise.
API
debounce(func, wait)
func:(newValue, oldValue) => returnValueThe function that will execute once the wait time is up. It will always be executed with the last value of
newValuein the wait period, and the first value ofoldValuein the wait period.returnValuecan be aPromise!wait:numberThe number of milliseconds to wait.
Returns:
(newValue, oldValue) => Promise<typeof returnValue>A dualbounced
func. ThePromisewill resolvewaitmilliseconds after the last invocation.
License
MIT