MonoTypeOperatorFunction<T>: Un Observable que emite el valor más reciente del Observable fuente cuando el Observable notifier emite un valor o se completa.
Descripción
Es como sampleTime, pero toma una muestra del Observable fuente cuando el Observable notificador emite un valor.
Cuando el Observable notifier emite un valor o se completa, sample toma una muestra del Observable fuente y emite la emisión más reciente desde el último muestreo, a no ser que la fuente no haya emitido nada desde el último muestreo. En cuanto se lleve a cabo la suscripción al Observable resultante, también se realizará la del Observable notifier.
Ejemplos
Emitir el valor más reciente desde el último muestreo, realizado cuando interval emite (cada 2s)
import { fromEvent, interval } from "rxjs";
import { sample } from "rxjs/operators";
const number$ = interval(1000);
const key$ = fromEvent<KeyboardEvent>(document, "keydown");
number$
.pipe(sample(key$))
.subscribe((n) =>
console.log(`El último valor emitido tras la última tecla pulsada es: ${n}`)
);
// Salida: El último valor emitido tras la última tecla pulsada es: n
import { fromEvent, interval } from "rxjs";
import { sample } from "rxjs/operators";
const seconds = interval(1000);
const clicks = fromEvent(document, "click");
const result = seconds.pipe(sample(clicks));
result.subscribe((x) => console.log(x));