Курс 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

Коментарі

  1. Очікування потоку значень блокує виконання, аж поки потік не видасть усе, що має, — те саме «чекай до завершення», яке await дає для обіцянки, — а його значенням є останнє, що видав потік, тобто 23.

  2. Це пасує потокові, у якому важливий лише кінцевий стан, як-от найсвіжіший показ давача. Якщо вам потрібне кожне значення, це робота для .tap або блоку react, як у попередніх розділах.

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

Дочекайтеся supply   |   Дочекайтеся збою