Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación reactiva / await / Exercises / Espere un supply
Solución: Espere un supply
Aquí tienes una posible solución para la tarea.
Código
my $sensor = Supply.from-list(18, 21, 19, 23);
my $last = await $sensor;
say "final reading: $last";🦋 Puedes encontrar el código fuente en el archivo await-a-supply.raku.
Salida
final reading: 23Comentarios
Esperar un supply se bloquea hasta que el flujo ha emitido todo lo que tenía — la misma «espera hasta que acabe» que
awaitda para una promesa — y su valor es lo último que emitió el supply,23.Esto encaja con un flujo en el que solo importa el estado final, como la lectura más reciente de un sensor. Si necesitas todos los valores, eso es tarea de
.tapo de un bloquereact, como en las secciones anteriores.