Cursus Raku / Functioneel, concurrent, reactief en webprogrammeren / Concurrent programmeren / Promises / Exercises / Wacht op meerdere

Oplossing: Wacht op meerdere

Hier is een mogelijke oplossing voor de taak.

Code

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

🦋 Je kunt de broncode vinden in het bestand await-many.raku.

Uitvoer

(APPLE PEAR PLUM)

Opmerkingen

  1. @words.map(-> $w { start { $w.uc } }) maakt van elk woord een eigen promise, zodat alle drie gelijktijdig in hoofdletters gezet worden. Het pointy block noemt het woord $w, zodat elke promise het juiste woord vastlegt.

  2. await @jobs wacht op de hele lijst en geeft de resultaten in hun oorspronkelijke volgorde terug, wat (APPLE PEAR PLUM) geeft.

Cursusnavigatie

Wacht op meerdere   |   Nagekomen of gebroken