Paradigmas de programación
Declarativa
Reactiva
Los resultados se obtienen transformando un "stream" de eventos (datos) y propagando (reaccionando a) los cambios automáticamente.
Máximo valor en lista de enteros...
import { fromEvent } from "https://cdn.skypack.dev/rxjs@7.3.0";
import { scan, map } from "https://cdn.skypack.dev/rxjs@7.3.0/operators";
const output = document.querySelector("output");
const button = document.querySelector("button");
fromEvent(button, "click")
.pipe(map(ev => ev.clientX), scan((total, n) => total < n ? n : total))
.subscribe((max) => {
output.textContent = "Max X = " + max;
});
🔍 Nota: documentación de
rxjs.
Prueba aquí...
<button>Click me in different places</button> <output></output>
import { fromEvent } from "https://cdn.skypack.dev/rxjs@7.3.0";
import { scan, map } from "https://cdn.skypack.dev/rxjs@7.3.0/operators";
const output = document.querySelector("output");
const button = document.querySelector("button");
fromEvent(button, "click")
.pipe(map(ev => ev.clientX), scan((total, n) => total < n ? n : total))
.subscribe((max) => { output.textContent = "Max X = " + max; });