BACK
ReferencedebounceTime
Reference · 17

debounceTime

debounceTime

rxjs.dev

Эмитит значение только после паузы заданной длины.

Сигнатура

debounceTime(dueTime: number, scheduler?: SchedulerLike): MonoTypeOperatorFunction

Маркеры

in:           a-b---------c-d-|
debounce(20): -------b-------d-|

Что делает

На каждое next сбрасывает внутренний таймер и стартует заново. Если за dueTime новых значений не пришло — эмитит последнее. Если поток завершается с непогашенным таймером — последнее значение тоже эмитится перед complete.

Когда использовать

Typeahead/поиск, валидация формы по ходу ввода, resize/scroll-обработчики, любое «не делай ничего, пока пользователь не закончил».

Подводный камень

Отличие от throttleTime: debounce ждёт тишины, throttle — пропускает первый и режет последующие в окне.

См. также

throttleTime, auditTime, distinctUntilChanged

script.ts // TypeScript
CONSOLE · Console Output
Нажмите на запуск, чтобы увидеть результат...