Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione reattiva / Supply live e su richiesta

Supply su richiesta

Un supply su richiesta produce i propri valori daccapo per ogni presa. Supply.from-list è su richiesta: ogni presa riceve l’intera sequenza dall’inizio, indipendentemente da qualunque altra presa.

my $s = Supply.from-list(1, 2, 3);

my @a;
my @b;
$s.tap(-> $v { @a.push($v) });
$s.tap(-> $v { @b.push($v) });

say @a; # [1 2 3]
say @b; # [1 2 3]

Entrambe le prese hanno ricevuto tutti e tre i valori. Il supply non ha «consumato» i propri valori sulla prima presa; semplicemente è ripartito per la seconda. È il comportamento che vuoi quando un supply rappresenta una sorgente fissa — un elenco, un file, una query — che ogni abbonato dovrebbe vedere per intero.

Su richiesta è il comportamento predefinito per i supply costruiti da dati esistenti, perché ogni consumatore si aspetta naturalmente la sequenza completa. L’altro genere, il supply dal vivo, si comporta in modo piuttosto diverso, come mostra l’argomento successivo.

Pratica

Risolvi 1 quiz sul contenuto di questo argomento.

Supply live e su richiesta   |   Quiz — Tipi di supply


💪 Oppure vai direttamente agli esercizi di questa sezione.