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
@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.await @jobswartet auf die ganze Liste und reicht die Ergebnisse in ihrer ursprünglichen Reihenfolge zurück, was(APPLE PEAR PLUM)ergibt.