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

  1. Elke .then bouwt een nieuwe promise die draait zodra de vorige klaar is. Binnen haar blok is .result de waarde die de vorige promise opleverde.

  2. 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.

Cursusnavigatie

Schakel een promise aaneen   |   Wacht op meerdere