Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Nebenläufige Programmierung / Promises / Exercises / Warten Sie auf viele

Lösung: Warten Sie auf viele

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

Code

my @words = <apple pear plum>;
my @jobs = @words.map(-> $w { start { $w.uc } });
say await @jobs;

🦋 Du findest den Quellcode in der Datei await-many.raku.

Ausgabe

(APPLE PEAR PLUM)

Kommentare

  1. @words.map(-> $w { start { $w.uc } }) macht aus jedem Wort ein eigenes Promise, alle drei werden also nebenläufig großgeschrieben. Der Pointy Block benennt das Wort $w, sodass jedes Promise das richtige einfängt.

  2. await @jobs wartet auf die ganze Liste und reicht die Ergebnisse in ihrer ursprünglichen Reihenfolge zurück, was (APPLE PEAR PLUM) ergibt.

Kursnavigation

Warten Sie auf viele   |   Gehalten oder gebrochen