Kurso de Raku / Funkcia, samtempa, reaktiva kaj reta programado / Reaktiva programado / await
Atendi la finon
await estas la eksplicita maniero atendi, sed reaktiva
kodo ankaŭ atendas — nur implicite. Bloko react ne finiĝas,
ĝis ĉiuj supply, kiujn ĝi observas, estas finitaj, kio donas al vi la
saman garantion «ĉio kompletiĝis»:
my @values;
react {
whenever Supply.from-list(2, 4, 6) {
@values.push($_);
}
}
say [+] @values; # 12La say plenumiĝas nur post kiam la
bloko react finiĝis, do @values jam tenas ĉiun eligitan
valoron. Efektive, la bloko react atendis la fluon por
vi.
Jen utila ŝablono: uzu blokon react por kolekti ĉion,
kion supply eligas, kaj poste laboru per la kolektita rezulto sur la
sekva linio, certa, ke la fluo estas kompleta. Ĉu vi atendas promeson
per await aŭ fluon per react, la principo
estas la sama — paŭzu, ĝis la samtempa laboro estas farita, poste
daŭrigu per ĝiaj rezultoj.
Kursa navigado
← Kvizo — await kaj sleep | Atendu promeson →
💪 Aŭ iru rekte al la
ekzercoj de ĉi tiu sekcio.