Corso di Raku / Programmazione funzionale, concorrente, reattiva e web / Programmazione reattiva / await / Exercises / Attendete un supply
Soluzione: Attendete un supply
Ecco una possibile soluzione del compito.
Codice
my $sensor = Supply.from-list(18, 21, 19, 23);
my $last = await $sensor;
say "final reading: $last";🦋 Trova il programma nel file await-a-supply.raku.
Output
final reading: 23Commenti
Attendere un supply blocca finché il flusso non ha emesso tutto ciò che aveva — lo stesso «aspetta fino al completamento» che
awaitdà per una promise — e il suo valore è l’ultima cosa emessa dal supply,23.Questo si adatta a un flusso in cui conta solo lo stato finale, come l’ultima lettura di un sensore. Se ti serve ogni valore, quello è un compito per
.tapo per un bloccoreact, come nelle sezioni precedenti.