Skip to content

debounce()

Delay execution until after a period of inactivity.

Syntax

typescript
task.debounce(delayMs: number): FuturableTask<T>

Parameters

delayMs

Milliseconds to wait after the last call.

Examples

typescript
const searchTask = FuturableTask
  .of((query: string) => searchAPI(query))
  .debounce(300);

// User types rapidly
searchTask.run('a');   // Cancelled
searchTask.run('ab');  // Cancelled
searchTask.run('abc'); // Executes after 300ms

Auto-Save

typescript
const autoSave = FuturableTask
  .of((data: FormData) => saveToServer(data))
  .debounce(1000);

formInput.addEventListener('input', () => {
  autoSave.run(getFormData());
});

See Also

Released under the MIT License.