Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Конкурентне програмування / Промиси / Вправи / Дочекайтеся кількох
Розв’язання: Дочекайтеся кількох
Ось одне з можливих розв’язань задачі.
Код
my @words = <apple pear plum>;
my @jobs = @words.map(-> $w { start { $w.uc } });
say await @jobs;🦋 Знайдіть програму у файлі await-many.raku.
Вивід
(APPLE PEAR PLUM)Коментарі
@words.map(-> $w { start { $w.uc } })перетворює кожне слово на власну обіцянку, тож усі три переводяться у верхній регістр конкурентно. Гострий блок називає слово$w, тож кожна обіцянка захоплює саме своє.await @jobsчекає на весь список і повертає результати в їхньому початковому порядку, даючи(APPLE PEAR PLUM).