RxJS - Retraso del operador de servicios públicos

Este operador retrasa los valores emitidos desde la fuente Observable en función del tiempo de espera de otro observable tomado como entrada.

Sintaxis

delayWhen(timeoutSelector_func: Observable
      
       ): Observable 
      

Parámetros

timeoutSelector_func - es un observable que decide sobre el tiempo de espera.

Valor devuelto

Se devolverá un observable que utilizará la salida timeoutSelector_func para retrasar la fuente observable.

Ejemplo

import { fromEvent, timer } from 'rxjs';
import { delayWhen } from 'rxjs/operators';

let btn = document.getElementById("btnclick");
let btn_clicks = fromEvent(btn, 'click');
let case1 = btn_clicks.pipe(delayWhen(() => timer(1000)),);
case1.subscribe(x => console.log(x));

Hemos utilizado un observable para delayWhen (), y cuando ese observable emite, se emite el evento de clic.

Salida