Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación concurrente / Promesas / Exercises / Encadene una promesa
Solución: Encadene una promesa
Aquí tienes una posible solución para la tarea.
Código
my $p = start { 'raku' };
my $q = $p.then({ .result.uc });
my $r = $q.then({ .result ~ '!' });
say await $r;🦋 Puedes encontrar el código fuente en el archivo promise-result.raku.
Salida
RAKU!Comentarios
Cada
.thenconstruye una promesa nueva que se ejecuta en cuanto la anterior está lista. Dentro de su bloque,.resultes el valor que produjo la promesa anterior.El primer seguimiento convierte
'raku'en'RAKU'; el segundo le añade'!'. Esperar la última promesa,$r, recorre la cadena entera y da'RAKU!': una pequeña tubería en la que cada paso transforma el resultado del anterior.