debounceTime
연산자(operator) 정의: 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!
Examples
Example 1: Debouncing based on time between input
const input = document.getElementById('example');
//for every keyup, map to current input value
const example = Rx.Observable
.fromEvent(input, 'keyup')
.map(i => i.currentTarget.value);
//wait .5s between keyups to emit current value
//throw away all other values
const debouncedInput = example.debounceTime(500);
//log values
const subscribe = debouncedInput.subscribe(val => {
console.log(`Debounced Input: ${val}`);
});
Additional Resources
- debounceTime - Official docs
- Transformation operator: debounce and debounceTime - André Staltz
Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/operator/debounceTime.ts