RxJS - Operatore di filtraggio antirimbalzo

Un valore emesso dalla sorgente Observable dopo un po 'e l'emissione è determinata da un altro input dato come Observable o promise.

Sintassi

debounce(durationSelector: Observable or promise): Observable

Parametri

durationSelector- Accetta un argomento chiamato durationSelector che restituisce un osservabile o una promessa. Questo argomento riceverà l'input dall'osservabile sorgente e deciderà il timeout per ciascun valore di origine.

Valore di ritorno

Restituisce un osservabile in cui l'emissione della sorgente osservabile è ritardata in base a durationSelector.

Esempio

import { fromEvent, interval } from 'rxjs';
import { debounce } from 'rxjs/operators';

let btn = document.getElementById("btnclick");
let btn_clicks = fromEvent(btn, 'click');
let case1 = btn_clicks.pipe(debounce(() => interval(2000)));
case1.subscribe(x => console.log(x));

Qui l'evento di clic viene ritardato utilizzando l'operatore debounce ()

Produzione