Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Конкурентне програмування / Промиси / Вправи / Дочекайтеся кількох

Розв’язання: Дочекайтеся кількох

Ось одне з можливих розв’язань задачі.

Код

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

🦋 Знайдіть програму у файлі await-many.raku.

Вивід

(APPLE PEAR PLUM)

Коментарі

  1. @words.map(-> $w { start { $w.uc } }) перетворює кожне слово на власну обіцянку, тож усі три переводяться у верхній регістр конкурентно. Гострий блок називає слово $w, тож кожна обіцянка захоплює саме своє.

  2. await @jobs чекає на весь список і повертає результати в їхньому початковому порядку, даючи (APPLE PEAR PLUM).

Навігація курсом

Дочекайтеся кількох   |   Виконаний чи порушений