Skip to content

Latest commit

 

History

History
62 lines (43 loc) · 1.98 KB

debouncetime.md

File metadata and controls

62 lines (43 loc) · 1.98 KB

debounceTime

signature: debounceTime(dueTime: number, scheduler: Scheduler): Observable

Discard emitted values that take less than the specified time between output


💡 This operator is popular in scenarios such as type-ahead where the rate of user input must be controlled!


Ultimate RxJS

Examples

Example 1: Debouncing based on time between input

( StackBlitz )

// RxJS v6+
import { fromEvent } from 'rxjs';
import { debounceTime, map } from 'rxjs/operators';

// elem ref
const searchBox = document.getElementById('search');

// streams
const keyup$ = fromEvent(searchBox, 'keyup');

// wait .5s between keyups to emit current value
keyup$
  .pipe(
    map((i: any) => i.currentTarget.value),
    debounceTime(500)
  )
  .subscribe(console.log);

Related Recipes

Additional Resources


📁 Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/internal/operators/debounceTime.ts