Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Concurrent programmeren / Promises / Exercises / Schakel een promise aaneen
Oplossing: Schakel een promise aaneen
Hier is een mogelijke oplossing voor de taak.
Code
my $p = start { 'raku' };
my $q = $p.then({ .result.uc });
my $r = $q.then({ .result ~ '!' });
say await $r;🦋 Je kunt de broncode vinden in het bestand promise-result.raku.
Uitvoer
RAKU!Opmerkingen
Elke
.thenbouwt een nieuwe promise die draait zodra de vorige klaar is. Binnen haar blok is.resultde waarde die de vorige promise opleverde.Het eerste vervolg zet
'raku'in hoofdletters tot'RAKU'; het tweede voegt'!'toe. De laatste promise,$r, afwachten loopt de hele keten door en levert'RAKU!'op — een kleine pijplijn waarin elke stap het resultaat van de vorige omvormt.