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
Jedes
.thenbaut ein neues Promise, das läuft, sobald das vorige fertig ist. In seinem Block ist.resultder Wert, den das vorige Promise erzeugt hat.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.