Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Реактивне програмування / await / Вправи / Дочекайтеся supply
Розв’язання: Дочекайтеся supply
Ось одне з можливих розв’язань задачі.
Код
my $sensor = Supply.from-list(18, 21, 19, 23);
my $last = await $sensor;
say "final reading: $last";🦋 Знайдіть програму у файлі await-a-supply.raku.
Вивід
final reading: 23Коментарі
Очікування потоку значень блокує виконання, аж поки потік не видасть усе, що має, — те саме «чекай до завершення», яке
awaitдає для обіцянки, — а його значенням є останнє, що видав потік, тобто23.Це пасує потокові, у якому важливий лише кінцевий стан, як-от найсвіжіший показ давача. Якщо вам потрібне кожне значення, це робота для
.tapабо блокуreact, як у попередніх розділах.