Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Nebenläufige Programmierung / Promises / Exercises / Verketten Sie ein Promise

Lösung: Verketten Sie ein Promise

Hier ist eine mögliche Lösung der Aufgabe.

Code

my $p = start { 'raku' };
my $q = $p.then({ .result.uc });
my $r = $q.then({ .result ~ '!' });
say await $r;

🦋 Du findest den Quellcode in der Datei promise-result.raku.

Ausgabe

RAKU!

Kommentare

  1. Jedes .then baut ein neues Promise, das läuft, sobald das vorige fertig ist. In seinem Block ist .result der Wert, den das vorige Promise erzeugt hat.

  2. Der erste Nachfolger schreibt 'raku' zu 'RAKU' groß; der zweite fügt '!' an. Das letzte Promise, $r, abzuwarten durchläuft die ganze Kette und ergibt 'RAKU!' — eine kleine Pipeline, in der jeder Schritt das Ergebnis des vorigen umformt.

Kursnavigation

Verketten Sie ein Promise   |   Warten Sie auf viele