Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Reaktive Programmierung / Live- und On-Demand-Supplies

On-Demand-Supplies

Ein On-demand-Supply erzeugt seine Werte für jede Zapfstelle neu. Supply.from-list ist on demand: Jede Zapfstelle erhält die ganze Folge von Anfang an, unabhängig von jeder anderen Zapfstelle.

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]

Beide Zapfstellen haben alle drei Werte erhalten. Das Supply hat seine Werte bei der ersten Zapfstelle nicht „aufgebraucht“; es lief für die zweite schlicht erneut. Das ist das Verhalten, das Sie wollen, wenn ein Supply eine feste Quelle darstellt — eine Liste, eine Datei, eine Abfrage —, die jeder Abonnent vollständig sehen soll.

On demand ist der Standard für Supplies, die aus bestehenden Daten gebaut sind, denn jeder Verbraucher erwartet natürlicherweise die vollständige Folge. Die andere Art, ein Live-Supply, verhält sich recht anders, wie das nächste Thema zeigt.

Praxis

Lösen Sie 1 Quiz zum Inhalt dieses Themas.

Kursnavigation

Live- und On-Demand-Supplies   |   Quiz — Arten von Supply


💪 Oder springen Sie direkt zu den Übungen dieses Abschnitts.