Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Fin sección 7

Choose a tag to compare

@alesyt0h alesyt0h released this 29 Sep 21:51
· 5 commits to main since this release

Operadores que funcionan con tiempo

  • delay: Retrasa la emisión del observable por la cantidad de tiempo pasado como argumento, o hasta la fecha asignada. delay(1000) -- delay(Date)
  • debounceTime: Espera la cantidad pasada como argumento antes de emitir el último valor, si un nuevo valor es emitido antes de que haya transcurrido ese lapso de espera, este se reiniciaria volviendo a esperar el lapso asignado hasta que no haya mas emisiones en ese periodo de tiempo para poder emitir el valor.
  • throttleTime: Emite el valor inmediatamente y espera la cantidad de tiempo asignada hasta volver a emitir el siguiente valor, si recibe algun valor durante ese "cooldown" serian ignorados, a menos que se especifique de la siguiente manera.
throttleTime(1000,asyncScheduler, {
    leading: true, // Emite el primer valor
    trailing: true // Emite el último valor
}),
  • sampleTime: Nos permite obtener el último valor emitido dentro de un intervalo de tiempo. Es decir, si especificamos un sampleTime(1000) si el observable en ese lapso de 1 segundo emitiese 5 valores, al finalizar ese segundo, emitirá el último valor dentro de ese lapso.
  • sample: Nos permite obtener una "muestra" de la última emisión de un observable al recibir un valor de otro observable:
// Cada vez que hicieramos click en el documento, recibiriamos la última emisión del observable.
const interval$ = interval(500);
const click$    = fromEvent(document,'click');

interval$.pipe(
    sample(click$)
).subscribe(console.log);
  • auditTime: Espera la cantidad pasada como argumento antes de emitir el último valor. A diferencia del debounceTime() este no se reinicia al recibir un nuevo valor, simplemente emitira el último valor al finalizar la cantidad de tiempo asignada. Muy parecido a sampleTime(). La única diferencia con sampleTime()que tiene es que si el observable se completa antes, no se emitiría ningun último valor.