Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Reaktiva programado / await / Exercises / Atendu promeson
Solvo: Atendu promeson
Jen ebla solvo de la tasko.
Kodo
my @jobs =
(start { sleep 0.3; 'slow' }),
(start { sleep 0.1; 'quick' }),
(start { sleep 0.2; 'medium' });
say await @jobs;🦋 Vi povas trovi la fontkodon en la dosiero await-a-promise.raku.
Eligo
(slow quick medium)Komentoj
Ĉiuj tri taskoj startas samtempe kaj dormas samtempe, do la tuta programo daŭras ĉirkaŭ
0.3sekundojn — la daŭron de la plej malrapida tasko, ne la sumon de ĉiuj tri.Kvankam
quickfiniĝas unue kajslowlaste, la eligo estas(slow quick medium):awaitredonas ĉiun rezulton sur la sama pozicio kiel ĝia promeso en@jobs. La ordo de kompletiĝo influas nur kiamawaitrevenas, neniam la aranĝon de la rezultoj.
Kursa navigado
← Atendu promeson | Atendu supply →