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.
Navigazione del corso
← Supply live e su richiesta | Quiz — Tipi di supply →
💪 Oppure vai direttamente agli esercizi di questa
sezione.